JS高级程序设计3-基本概念

  • 严格模式

    严格模式是为JS定义了一种不通的解析与执行模型,要在整个脚本中启用严格模式,可以在定不添加如下代码:
    “use strict”
    也可以指定特定的函数在严格模式下执行:

    function dosomething(){
            "use strict";
            //函数体
        }
  • 关键词与保留字(P21)

  • 使用var操作符定义变量(P22)

    使用var操作符定义的变量将成为定义该变量的作用域的局部变量;省略了var,被定义的变量将变成全局变量(不推荐这样定义全局变量)

  • typeof是操作符,不是函数,所欲使用时后面的括号不是必须的(P24)

  • 对未初始化和未声明的变量执行typeof操作符都返回undefind值(P25)

    养成显式的初始化变量的习惯后,当使用typeof操作符返回“undefined”时,就知道相应的变量是没有声明,而不是尚未初始化了

  • 转型函数Boolean()可以将所有的类型的值转换为布尔值(P26)

  • 数值范围(29)

    数值有一定的范围太大或者太小,数值的类型将转换为Infinity值,而不能参与计算;想确定一个数值是不是有穷的可以使用isFinite()函数

  • 数值转换(P30)

    把非数值转换为数值的函数有Number()、parseInt()和parseFloat();Number()函数在转换字符串时比较复杂而且不够合理,因此在处理整数的时候通常使用parseInt()函数。

  • 字符字面量(转义序列)(P33)

  • toString()可以其他数值转换为字符串(P34)
  • object类型每个实例都具有的属性和方法(P35)
  • 一元加操作符可以便捷的将不同数据类型转换为数值(P38)
  • 两个逻辑非操作符可以便捷的将一个值转换为与之对应的布尔值,与Boolean()转型函数的作用一样(P44)

  • label语句

    label语句用于给代码添加标签,下面是label的具体用法

     var num = 0;
     for (var i = 0 ; i < 10 ; i++){
           for (var j = 0 ; j < 10 ; j++){
                if( i == 5 && j == 5 ){
                      break;
                }
           num++;
           }
      }
      alert(num); // 循环在 i 为5,j 为5的时候跳出 j循环,但会继续执行 i 循环,输出 95
    对比使用了 Label 之后的程序:(添加 Label 后)
    var num = 0;
    outPoint:
    for (var i = 0 ; i < 10 ; i++){
         for (var j = 0 ; j < 10 ; j++){
              if( i == 5 && j == 5 ){
                    break outPoint;
              }
         num++;
         }
    }
    alert(num); // 循环在 i 为5,j 为5的时候跳出双循环,返回到outPoint层继续执行,输出 55
  • 大量使用with语句会导致性能下降,同时给代码的调试也带来了困难,所有不建议在大型程序中使用with语句(P60)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值