js小知识点(预解析 引用 异常 严格模式)

预解析:
会预先解析一些(变量定义、函数会预解析);
var a=12;
只把var a提到作用域的顶部
js会把变量的声明(仅仅是声明)提到顶部。不会突破作用域
执行步骤:,
读取一个script标签>预解析>执行里面的代码>
读取下一个script标签>预解析>执行里面的代码
不会突破script标签
undefined和not defined
undefined存在没有赋值
not defined 没定义 直接用
预解析作用范围:
会找本作用域之内(函数、script)
函数也有预解析,但是要注意:
当以变量的形式声明的函数,预解析会按照变量的特性走

引用:
对象才有引用 基本类型没有
什么叫有引用 ?他们指的是同一个东西;
引用: 共同是一个东西:object
只有在对象身上才会发生
为什么会它有引用 因为对象比较大 不能每次都用新东西 性能浪费
数组的真正写法:
new Array();
函数的真正写法:
new Function(); //不推荐

异常:
try...catch
报错的时候,后面的程序不执行。

bug异常 程序员不可控制的错误
try...catch
try 尝试着去执行一段代码。
如果没有做错。就正常执行。
如果有错,找catch
try{
    可能会出错的代码
}catch(e){
    补救代码
}
    e 包含着错误信息

JS中所有全局都是window的
window的作用:在封闭空间中声明一个全局的变量
全局变量和函数都属于window

严格模式
'use strict'
严格模式的好处:
1.解决了局部函数中this是window的bug.
2.解决了不加var声明变量的bug.
3.避免在if,switch,for,while,for in里面定义函数
(不允许在非函数的代码块内声明函数)
4.去掉了with

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 继承 一、混入式继承 二、原型继承 利用原型中的成员可以被和其相关的对象共享这一特性,可以实现继承,这种实现继承的...
    magic_pill阅读 1,075评论 0 3
  • 代码解析参与者 需要了解变量是如何进行预解析的,首先要知道解析代码的参与者,有三个:引擎、编译器、作用域 编译器对...
    素弥阅读 535评论 0 1
  • 1,javascript 基础知识 Array对象 Array对象属性 Arrray对象方法 Date对象 Dat...
    Yuann阅读 945评论 0 1
  • 在ES6之前,变量使用var声明,会存在变量的预解析(函数也有预解析),我相信很多同学在刚开始学JavaScrip...
    iceman_dev阅读 8,665评论 5 34
  • 个人简介 林文瑞,笔名千寻,号千寻斋主,1981年出生于广东梅州大埔,现定居深圳,毕业于韶关大学美术学院,...
    艺术范阅读 2,221评论 0 0