异步操作 单线程模型 指的是,JavaScript 只在一个线程上运行 也就是说,JavaScript 同时只能执行一个任务,其他任务都必须在后面排队等待 注意,JavaScript 只在一个线程上运行,不代表 JavaScript 引擎只有一个线程. 事实上,JavaScript 引擎有多个线程,单个脚本只能在一个线程上运行(称为主线程),其他线程都是在后台配合 JavaScript 之所以采用单线程,而不是多线程,跟历史有关系. JavaScript 从诞生起就是单线程,原因是不想让浏览器变…
Object 对象的相关方法 Object.getPrototypeOf() 返回参数对象的原型. 这是获取某对象的原型对象的标准方法. var F = function () {}; var f = new F(); Object.getPrototypeOf(f) === F.prototype // true 几种特殊对象的原型 // 空对象的原型是 Object.prototype Object.getPrototypeOf({}) === Object.prototype // tru…
严格模式 除了正常的运行模式,JavaScript 还有第二种运行模式:严格模式(strict mode).顾名思义,这种模式采用更加严格的 JavaScript 语法 同样的代码,在正常模式和严格模式中,可能会有不一样的运行结果. 一些在正常模式下可以运行的语句,在严格模式下将不能运行. 设计目的 早期的 JavaScript 语言有很多设计不合理的地方,但是为了兼容以前的代码,又不能改变老的语法, 只能不断添加新的语法,引导程序员使用新语法 严格模式是从 ES5 进入标准的,主要目的有以下几…
对象的属性值 如果要使用特殊的属性名,需 对象["属性名"] = 属性值       // 存 对象["属性名"]       // 取 obj["123"] = 456; var n = "123"; // 可以传一个变量到 [] ,来取变量对应在 Object 中的属性值 console.log(obj[n]); 对象的属性值可以是任意数据类型,包括对象和函数. 使用 in 运算符来检查一个对象是否含有某属性 consol…
在 js 中有两种作用域:全局作用域,局部作用域. 全局作用域 直接写在 <script> 标签中的变量和方法. 在网页打开时创建,在网页关闭时销毁. 全局作用域有一个全局对象 window,可以直接使用...代表浏览器的窗口,由浏览器创建 在全局作用域中创建的变量和函数,都会作为 window 的属性和方法保存. 变量的声明提前,函数的声明提前 指的是,用 var 和 function 关键字创建的变量和函数,会在所有代码执行之前声明...仅仅是声明,不会赋值. 函数作用域 创建函数时,同时…
函数        实现特定功能的 n 条语句封装体. 1. 创建一个函数对象 var myFunc = new Function(); // typeof myFunc 将会打印 function 将要封装的代码以字符串的方式传递给构造函数 var aFunc = new Function("console.log('Hello!');"); console.log(aFunc); // 打印: " function anonymous(){ console.log(&qu…
1. 立即执行函数 创建完了就执行,只执行完就不再执行了. ( function(){} )(); 例 ( function(a,b){ alert("Hello ,我是一个匿名函数!"); alert("a = "+a); alert("b = "+b); })(3,4); 2. 方法 把一个函数设置为一个对象的属性,我们称该函数为此对象的方法. var god = new Object(); god.name = "猪八戒"…
JavaScript 对象的 toString() 方法改变输出 在平常,我们 console.log(对象);    // 会打印 [Object Object] 但是我们想要更详细的输出,此时,我们可以重写 对象.toString() 方法 Person.toString = function(){ return "Person ["+this.name+" , "+this.gender+","+this.age+"]"…
垃圾积累过多,致使程序运行缓慢,什么是垃圾? 当堆中某个内容,再也没有指针指向它,我们将再也用不了它,此时就是一个垃圾. 出现这种情况是因为 obj = null; 此时,js 中的垃圾回收机制会自动回收垃圾. 因此,对于不需要的变量,我们只需要  xxx = null; 即可,剩下的交给垃圾回收机制处理.…
ParentNode 接口,ChildNode 接口 节点对象除了继承 Node 接口以外,还会继承其他接口. ParentNode 接口 表示当前节点是一个父节点,提供一些处理子节点的方法. ChildNode 接口 表示当前节点是一个子节点,提供一些相关方法. ParentNode 接口 如果当前节点是父节点,就会继承ParentNode接口. 由于只有元素节点(element).文档节点(document)和文档片段节点(documentFragment)拥有子节点 因此只有这三类节点会继…