JavaScript使用误区


(1)赋值运算符应用错误【例如在if条件语句中,正确的是使用比较运算符==】
var x = 0;
if (x = 10)//返回true,因为条件语句执行了为x赋值10,10为true
(2)比较运算符的常见错误【例如==与===】
var x = 10;
var y = "10";
if (x == y)//返回true,而如果条件语句是x===y则返回false
注:switch语句中使用恒等运算符===进行比较
例如:
var x = 10;
switch(x) {
    case "10": alert("Hello");
}//不会执行alert弹窗
(3)加法与连接的注意事项
加法是两个数字相加,连接是两个字符串连接,但JavaScript中的加法和连接都使用+运算符
例如:
var x = 10 + 5;          // x 的结果为 15
var x = 10 + "5";        // x 的结果为 "105"
(4)浮点型数据使用注意事项
JavaScript中的所有数据都是以64位浮点型数据(float)来存储,所有的编程语言,包括Javascript,对
浮点型数据的精确度都很难确定。
例如:
var x = 0.1;
var y = 0.2;
var z = x + y            // z 的结果为 0.3
if (z == 0.3)            // 返回 false
解决办法:
var z = (x * 10 + y * 10) / 10;       // z 的结果为 0.3
(5)JavaScript字符串分行
JavaScript中允许我们在字符串中使用断行语句,即使用反斜杠
var x = "Hello \
World!";
(6)错误使用分号
例如:
if (x == 19);
{
    // code block  
}
if语句中的代码块一定会执行
(7)return语句使用注意事项
例如:
function myFunction(a) {
    var
    power = 10;  
    return
    a * power;//返回了undefined,因为JavaScript认为return语句是完整的,将其自动关闭即:return;
(8)数组中使用名字来索引
JavaScript 不支持使用名字来索引数组,只允许使用数字索引。对象使用名字来作为索引。
如果你使用名字作为索引,当访问数组时,JavaScript 会把数组重新定义为标准对象。
执行这样操作后,数组的方法及属性将不能再使用,否则会产生错误:
例如:
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
(9)定义数组元素,最后不能添加逗号
例如:
var colors = [5, 6, 7,]; //这样数组的,在不同的浏览器中,长度可能为3 也可能为4
(10)定义对象,最后不能添加逗号

websites = {site:"菜鸟教程", url:"www.runoob.com", like:460,}
(11)undefined不是null
在JavaScript中,null用于对象,undefined用于变量、属性、方法。对象只有被定义才有可能为null,否则为undefined,
如果我们想测试对象是否存在,在对象还没定义时将会抛出错误。
if (typeof myObj !== "undefined" && myObj !== null) //判断对象是否存在的方法
(12)程序块作用域
在每个代码块中 JavaScript 不会创建一个新的作用域,一般各个代码块的作用域都是全局的
以下代码的的变量 i 返回 10,而不是 undefined:
例如:
for (var i = 0; i < 10; i++) {
    // some code
}
return i;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值