文章分类 - ECMAScript
摘要:在给一个对象不存在的属性设置值的时候,不会去原型对象中查找,如果当前对象没有就会给当前对象新增一个不存在的属性 由于私有属性的本质就是一个局部变量,并不是真正的属性,所以如果通过 对象.xxx 的方式是找不到私有属性的,所以会给当前对象新增一个不存在的属性 <!DOCTYPE html> <html
阅读全文
摘要:局部变量和局部函数 无论是 ES6 之前还是 ES6,只要定义一个函数就会开启一个新的作用域 只要在这个新的作用域中,通过 let/var 定义的变量就是 局部变量 只要在这个新的作用域中,定义的函数就是局部函数 什么是对象的私有变量和函数 默认情况下对象中的属性和方法都是公有的,只要拿到对象就能操
阅读全文
摘要:首先我给出了如下一段代码,obj 对象的构造函数当中并没有 currentType 这个属性那么就会去原型对象当中进行查找,如下也给出了输出结果 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScr
阅读全文
摘要:对象中 __proto__ 组成的链条我们称之为原型链 对象在查找属性和方法的时候,会先在当前对象查找 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript-原型链</title> <scri
阅读全文
摘要:在 JavaScript 中 HTML 标签也称之为 DOM 元素 使用 document 的时候前面不用加 window 例如下面的一个小示例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>demo</t
阅读全文
摘要:Function 函数是所有函数的祖先函数 所有构造函数都有一个 prototype 属性 所有原型对象都有一个 constructor 属性 所有函数都是对象 所有对象都有一个 __proto__ 属性 所有的构造函数都有一个 prototype 属性,所有 prototype 属性都指向自己的原
阅读全文
摘要:JavaScript 函数是引用类型 (对象类型) 所以 Function 函数也是对象 "Function 构造函数" 也是一个对象,所以也有 __proto__ 属性 "Function 构造函数" 的 __proto__ 属性指向 "Function 原型对象" <!DOCTYPE html>
阅读全文
摘要:什么是 window window:是一个全局对象,代表浏览器中一个打开的窗口,每个窗口都是一个 window 对象 什么是 document document 是 window 的一个属性,这个属性是一个对象 document 代表当前窗口中的整个网页 document 对象保存了网页上所有的内容
阅读全文
摘要:JavaScript 中函数是引用类型 (对象类型) 既然是对象, 所以也是通过构造函数创建出来的, "所有函数" 都是通过 Function 构造函数创建出来的对象 JavaScript 中只要是 "函数" 就有 prototype 属性 "Function函数" 的 prototype 属性指向
阅读全文
摘要:每个 "构造函数" 中都有一个默认的属性, 叫做 prototype prototype 属性保存着一个对象, 这个对象我们称之为 "原型对象" 每个 "原型对象" 中都有一个默认的属性, 叫做 constructor constructor 指向当前原型对象对应的那个 "构造函数" 通过构造函数创
阅读全文
摘要:prototype 特点 存储在 prototype 中的方法可以被对应构造函数创建出来的所有对象共享 prototype 中除了可以存储方法以外, 还可以存储属性 prototype 中如果出现了和构造函数中同名的属性或者方法, 对象在访问的时候, 访问到的是构造函中的数据 prototype 应
阅读全文
摘要:什么是构造函数 构造函数和工厂函数一样, 都是专门用于创建对象的 构造函数本质上是工厂函数的简写 构造函数和工厂函数的区别 构造函数的函数名称 首字母 必须 大写 构造函数只能够通过 new 来调用 <!DOCTYPE html> <html lang="en"> <head> <meta char
阅读全文
摘要:什么是工厂函数 工厂函数就是专门用于创建对象的函数, 我们就称之为工厂函数 例如如下的代码,通过观察发现都是创建对象。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> <script
阅读全文
摘要:什么是函数 函数就是没有和其它的类显示的绑定在一起的, 我们就称之为函数 什么是方法 方法就是显示的和其它的类绑定在一起的, 我们就称之为方法 函数和方法的区别 函数可以直接调用, 但是方法不能直接调用, 只能通过对象来调用 函数内部的 this 输出的是 window, 方法内部的 this 输出
阅读全文
摘要:JavaScript 中提供了一个默认的类 Object, 我们可以通过这个类来创建对象 由于我们是使用系统默认的类创建的对象, 所以系统不知道我们想要什么属性和行为, 所以我们必须手动的添加我们想要的属性和行为 给一个对象添加属性 对象名称.属性名称 = 值; 给一个对象添加行为 对象名称.行为名
阅读全文
摘要:什么是预解析 浏览器在执行 JS 代码的时候会分成两部分操作:预解析以及逐行执行代码, 也就是说浏览器不会直接执行代码, 而是加工处理之后再执行, 这个加工处理的过程, 我们就称之为预解析。 预解析规则 将变量声明和函数声明提升到当前作用域最前面 将剩余代码按照书写顺序依次放到后面 🐤注意点:通过
阅读全文
摘要:🐤注意点: 初学者在研究 "作用域链" 的时候最好将 ES6 之前和 ES6 分开研究。 需要明确 ES6 之前定义变量通过 var ES6 之前没有 块级作用域, 只有全局作用域和局部作用域 ES6 之前函数大括号外的都是全局作用域 ES6 之前函数大括号中的都是局部作用域 ES6 之前的作用域
阅读全文
摘要:在 JavaScript 中定义变量有两种方式 ES6 之前: var 变量名称; ES6 开始: let 变量名称; 两种定义变量方式的区别 是否能够定义同名变量 通过 var 定义变量, 可以重复定义同名的变量, 并且后定义的会覆盖先定义的。 <!DOCTYPE html> <html lang
阅读全文
摘要:需求 要求用户输入密码, 判断输入的密码是否正确 (假设正确密码是 123456) 如果正确, 输出 "欢迎回来",如果不正确, 要求用户重新输入。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo<
阅读全文
摘要:什么是箭头函数 箭头函数是 ES6 中新增的一种定义函数的格式,目的: 就是为了简化定义函数的代码,例如数组的简化如下。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> <scrip
阅读全文