前端的缺查补漏 1 day

发布于 2023-03-07  596 次阅读


省略var声明的变量是全局变量;

js的数据类型

Undefined、Null、Boolean、Number、String五种简单数据类型和Object一种复杂数据类型;

typeof语法

语法:typeof 变量 或者 typeof(变量);

功能:检测变量数据类型

返回值:string类型

Null

null表示一个空对象的指针;

undefined是派生自Null的;故undefined==Null;返回值为true;

Number

表示整数或者浮点数;

NaN:(Not a Number)表示非数值;任何涉及NaN的操作都会返回false,并且NaN也不等于自身;

isNaN()

语法:isNaN(n);

功能:检测n是否为非数值,是就返回true否则返回false;

返回值:boolean

参数:可以是任意类型

它在收到参数后会尝试将参数转换为数值;某些不是数值的值会直接转换为数值;

数值转换

有三个函数:Number()、parseInt()、parseFloat()。

Number()可以用于任意数据类型;parseInt()、parseFloat()只能用于字符串类型。

parseInt

parseInt:忽略字符串前面的空格直到找到第一个非空格字符。如果找到的字符不能转换位数值则返回NaN;它提供两个参数,第二个参数是转换时使用的基数(即几进制);

parseFloat

praseFloat:和parseInt一样,但是它除了第一个小数点有效外它和praseInt的第二个区别是它始终都会忽略前导的零,例如:parseInt('0xf')将‘0x’转换为相同大小的十进制数值,而parseFloat('0xf')只会输出0。

String

字符串可以用单引号或双引号表示;

toString()

语法:str.toString()

功能:将str转换为字符串

返回值:返回str的一个副本;

参数:str是要转换的内容,可以是数值、布尔值、字符串、对象;

String()

如果不知道str是什么类型时可以用string();语法和功能和toString一样;

类型转换

除了0以外的任何数字转换为Boolean类型都是true;

除了“”外的所有字符转化为布尔类型都为true;

null和undefined转换为boolean为false;

递增和递减

++a和a++的区别是:++a先返回递增后a的值,a++返回a的值再返回递增后的值;

--a和a--同理;

逻辑与和逻辑非

&&:有假则假;从左到右开始运算;

规则:如果有一个操作数不是布尔值的时候,逻辑与操作后就不一定返回值;它遵循:

  1. 如果第一个操作数隐式转换为布尔值为true时,则返回第二个操作数;
  2. 如果第一个操作数隐式转换为布尔值为false时,则返回第一个操作数;
  3. 如果有一个操作数为null,则返回null;
  4. 如果有一个操作数为NaN,则返回NaN;
  5. 如果有一个操作数是undefined,则返回undefined;

1、2是在两个操作数情况下;3、4、5是在前面操作数隐式转换为ture的情况下;

||:有真则真;从左到右开始运算;

规则:如果有一个操作数不是布尔值的时候,逻辑与操作后就不一定返回值;它遵循:

  1. 如果第一个操作数隐式转换为布尔值为true时,则返回第一个操作数;
  2. 如果第一个操作数隐式转换为布尔值为false时,则返回第二个操作数;
  3. 如果有一个操作数为null,则返回null;
  4. 如果有一个操作数为NaN,则返回NaN;
  5. 如果有一个操作数是undefined,则返回undefined;

规则是在两个操作数情况下;

  • alipay_img
  • wechat_img
届ける言葉を今は育ててる
最后更新于 2023-03-07