JS变量提升及常见误区

js变量提升

JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。变量可以在使用后声明
也可以先使用再声明。只有声明的变量会提升,初始化的不会。也就是说,未赋值的变量,提升为undefined。

常见js使用误区

  1. switch 语句会使用恒等计算符(===)进行比较:
var x = 10;
switch(x) {
    case "10": alert("Hello");
}

此处不执行弹窗,类型与值都相等才匹配成功。

  1. 特别注意浮点型数据;
var x = 0.1;
var y = 0.2;
var z = x + y            // z 的结果为 0.30000000000000004
if (z == 0.3)            // 返回 false
  1. 字符串断行需要使用反斜杠(),如下所示:
var x = "Hello \
World!";
  1. 定义数组中最后一个值,不能加,逗号

会导致数组长度为i或者i+1;

  1. 定义对象中 key, value最后不能添加逗号,

  2. undefined不是null

     null用于对象
     
     undefined用于变量属性和方法
     
     对象只有被定义才可能为null,否则为undefined
    
  3. 数组使用数字来索引

var person = [];
person[0] = "John";
person[1] = "Doe";
person[2] = 46;
var x = person.length;         // person.length 返回 3
var y = person[0];             // person[0] 返回 "John"
  1. 对象使用名字来索引
var person = [];
person["firstName"] = "John";
person["lastName"] = "Doe";
person["age"] = 46;
var x = person.length;         // person.length 返回 0
var y = person[0];             // person[0] 返回 undefined

如果使用名字作为索引,数组会被重定义为对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值