zoukankan      html  css  js  c++  java
  • 学习js笔记(第3章-语句和严格模式)

    语句##

    块语句 block###

    用一对花括号定义

    js没有块级作用域

    声明语句###

    常见错误

    try catch语句###

    try后面必须接一个cathfinally语句

    发生嵌套时的执行顺序:
    红框内部没有catch,所以会跳到最近的catch去处理,即外部的catch

    异常已经在内部处理,就不再抛到外部了

    cath再抛异常,内部异常没有处理,抛给外面,外面处理之前,要先执行里面的finally语句

    for in语句###

    坑比较多

    with语句###

    不建议使用

    严格模式##

    严格模式是一种特殊的执行模式,它修复了部分语言上的不足(禁用with),向上兼容(有利于编写高质量,健壮性的代码),提供更强的错误检查,并增强安全性(在eval中使用了独立的作用域).

    不允许用with语句###

    不允许未声明的变量被赋值###

    arguments变为参数的静态副本###

    1. 非严格模式下,agm[0]和参数a相互绑定,但是当不传参数时,a的值为undefined,此时若修改了agm[0]的值,a仍然是undefined!!!
    2. 严格模式下,agm和形参无任何关系
    3. 严格模式下,如果传入的参数是对象,由于js的call by share,修改对象属性时,会相互影响

    delete参数、函数名报语法错###

    dele不可配置的属性报错###

    对象字面量重复属性名报语法错误###

    禁止八进制字面量###

    eval,arguments变为关键字,不能作为变量,函数名###

    eval变成了独立作用域###

    其余情况###

    静态绑定##

    Javascript语言的一个特点,就是允许"动态绑定",即某些属性和方法到底属于哪一个对象,不是在编译时确定的,而是在运行时(runtime)确定的。
    严格模式对动态绑定做了一些限制。某些情况下,只允许静态绑定。也就是说,属性和方法到底归属哪个对象,在编译阶段就确定。这样做有利于编译效率的提高,也使得代码更容易阅读,更少出现意外。比如禁止使用with语句,创设eval作用域。

  • 相关阅读:
    pat1111-1120
    pat1101-1110
    pat1091-1100
    pat1081-1090
    pat1071-1080
    pat1061-1070
    2017华为软件精英挑战赛总结
    pat1051-1060
    【转】WPF中PasswordBox控件的Password属性的数据绑定
    Python学习-41.Python中的断言
  • 原文地址:https://www.cnblogs.com/godot-blog/p/6749503.html
Copyright © 2011-2022 走看看