JavaScript/JS 基本功


在JavaScript中不管是用单引号声明或双引号声明的字符串都可以解释转义字符。

\r,回车。表示打印头归位。

\n,换行。纸张移动一行。

Boolean类型

Boolean类型用来做开关、条件的处理。

只有两个值,true 和 false,而且严格区分大小写。

真:true 1 on

假:false 0 off

var bool1 = true;//布尔值
var bool2 = false;
console.log(bool1); // true
console.log(bool2); // false

var str1 = 'true';//字符串
var str2 = 'false';
console.log(str1); // true
console.log(str2); // false

undefined类型

undefined类型只有一个值就是undefined。表示声明了变量但是没有初始化(没有给值)。

var str;
console.log(str); // undefined

null类型

定义变量并且赋值时直接赋值null,就是null类型。null数据类型只有一个值就是null。

var test = null;
console.log(test); // null
console.log(typeof test); // object

null 一般在对象中使用。如:对象初始化中或删除对象。

注意:

document.write('123\r\n456'); // 123 456  这里的换行以空格来表示。
console.log('123\r\n456'); // 123
						  //  456 这一个在控制台中,实现了换行。
//以上的两行代码都是字符串才行。
document.write('<h1>闫海静真英俊!</h1>'); // h1的效果会在页面中出现。

获得类型

typeof 值/变量 最终得到的结果字符串。返回的是数据类型名的小写形式。

  • boolean,布尔值
var bool1 = true;
console.log(typeof bool1); // boolean
  • string,字符串
var str1 = '太虚真人';
console.log(typeof str1); // string
var test = 1;
test = '呵呵';
console.log(typeof test); // string
  • number,数值
var num1 = 1;
console.log(typeof num1); // number
  • undefined
    未声明这个变量或变量未初始化都会返回undefined,这个时候可以认为这个变量不能真正使用。
console.log(typeof xiaoshuageshilipeihua); // undefined

var taiXu;
console.log(typeof taiXu); // undefined

变量在没有声明时将会报错,变量没有声明只能进行一种操作就是 typeof。

console.log(typeof tiaXu);//undefined
console.log(tiaXu);//报错
  • object,对象或null。
    千万要注意,typeof null 时虽然结果返回的是object但是null依然是基本数据类型。

不要认为null是引用类型(是对象),null就是基本数据类型。

var obj1 = null;
var obj2 = {
    
    };//这个意思是声明了一个空对象。
console.log(typeof obj1); // object
console.log(typeof obj2); // object
console.log(typeofnull); // string 字符串
console.log(typeof null); // object
  • 还有其他的返回值后面再说。

类型转换

JavaScript是弱类型语言,弱在哪里。

  1. 强类型语言在声明变量的时候必须指定对应数据类型。
int test = 1;

test = '哈哈';
  1. 弱类型语言首先不会在定义时指定变量的类型,变量的类型可以随着值的变化而变化。
var test = 1; // 这时候test是数字类型

test = '呵呵'; // 这时候test变成了字符串类型
console.log(typeof test); // string
var t1 = 1;
var t2 = '1';
console.log(t1 + t2); // 11

因为不限制具体类型就会有一种情况:两种或多种不同类型的变量进行相互操作。这个时候就涉及到了类型转换。

类型转换分为两种类型:

  1. 强制类型转换,我们自己强制让某个值进行转换。
  2. 隐式类型转换,这种转换方式会配合着运算符,是在运算的时候自动发生的转换。

强制类型转换

  • Boolean()小工具:将指定的值转换为布尔值,总是返回true或false。

    任何非空字符串都转换为true,空字符串转换为false。

var str1 = '';
var str2 = '    '; // 空白串
var str3 = '刚才的铃声真刺激!';
var str4 = '123456789';
// 通过Boolean强制的把 str1、str2、str3、str4转为布尔值。
console.log(Boolean(str1));//false 
console.log(Boolean(str2));//true
console.log(Boolean(str3));//true
console.log(Boolean(str4));//true 

任何的非零数值转换为true0NaN转换为false

var num1 = 0;
var num2 = 1;
var num3 = -1;
var num4 = NaN;
console.log(Boolean(num1)); // false
console.log(Boolean(num2)); // true
console.log(Boolean(num3)); // true
console.log(Boolean(num4)); // false
var a = b;
console.log(Boolean(a)); // 报错 // b is not defined

NaN(Not a Number),是一个特殊的数值,用来表示本来要返回的值是数值但是没有返回数值的情况。

// undefined表示可以认为这个变量不能真正使用,所以没有办法进行运行。
var unde = undefined;
console.log(unde + 1); // NaN 要得到结果应该是数值,但是没办法,我得不到,所以只能用NaN表示。
// 这个NaN比较恶心
console.log(NaN + 1); // NaN
console.log(NaN - 1); // NaN
// 判断NaN是否等于NaN
console.log(NaN == NaN); // false

undefined,将会转换为false。

console.log(Boolean(undefined)); // false
  • 任何对象都会被转换为truenull转换为false
  var obj1 = {
    
    }; // {}表示一个空对象
  var obj2 = null;
  console.log(Boolean(obj1)); // true
  console.log(Boolean(obj2)); // false
  
  console.log(Boolean(null)); // false

Number()小工具,将非数值转换为数值。

猜你喜欢

转载自blog.csdn.net/weixin_47021982/article/details/112959447