
JavaScript 基础知识
文章平均质量分 51
。
fanhaozhi
这个作者很懒,什么都没留下…
展开
-
JavaScript 的 原型链
首先要明确的是,JavaScript 是面向对象的语言,但与 Java 、 C# 等语言有别,没有类的概念,而是基于原型链 (即使是ES6的"class"也是基于原型链的一种语法糖)。理解原型对象只要创建一个新函数,系统默认为其创建一个 prototype 属性,指向函数的原型对象。默认情况下,所有原型对象都自动获得一个 constructor 属性,指向prototype 属性所在...原创 2019-03-03 23:03:13 · 176 阅读 · 0 评论 -
JavaScript 的 this 指向
this 的定义this 是一个指针,指向的是函数执行的环境对象。用几个例子说明 this 的指向普通函数内的 this 指向执行环境对象,例子中的执行环境是 windowvar a = 'window'function fn(){ let a = 'fn' return this.a}fn(); // 'window'构造函数创建的对象的函数...原创 2019-03-03 17:09:37 · 145 阅读 · 0 评论 -
JavaScript 的 闭包
词法作用域:首先我们看一个最简单的例子:var x = 100;function fn(){ console.log(x);}fn(); // 100毫无疑问,"fn()" 函数是可以访问到外部定义的变量 "x"。函数被创建时,都会创建其"作用域"。"fn" 函数被创建,其作用域内未声明变量 "x" ,只能到上一级的作用域(这里是全局作用域)找,这里的 "x" 称之...原创 2019-02-17 22:59:11 · 168 阅读 · 0 评论 -
JavaScript 函数内的 arguments 对象
描述:arguments 是一个对应于传递给函数的参数的类数组对象。不是数组,但可以转化成数组。函数内部必定存在的一个对象。function fn () { console.log(arguments);}fn('a', 'b', '', 'd');// Arguments(4)["a", "b", "", "d", callee: ƒ, Symbol(Symbol.ite...原创 2019-01-06 21:29:28 · 206 阅读 · 0 评论 -
JavaScript 的 Symbol 类型
它是JavaScript的第七种原始类型:有别于6种原始类型:Undefined(未定义)、Null(空值)Boolean、(布尔类型)、Number(数字类型)、String(字符串类型)、Object(对象类型)ES6新特性中的symbol也是值,但它不是字符串,也不是对象,而是是全新的——第七种类型的原始值。常见的用途: symbol是程序创建并且可以用作属性键的值,并且...原创 2018-12-15 15:17:44 · 271 阅读 · 0 评论 -
JavaScript 的 RegExp 速查
创建 正则对象:// 以下三种方法均可以const regex = /^[a-zA-Z]+[0-9]*\W?_$/gi;let regex2 = new RegExp(/^[a-zA-Z]+[0-9]*\W?_$/, "gi");let regex3 = new RegExp("^[a-zA-Z]+[0-9]*\\W?_$", "gi");正则表达式中的特殊字符:修饰符 ...原创 2018-12-11 22:49:20 · 173 阅读 · 0 评论 -
JavaScript 的 Object 类型
简单创建:// 构造函数体内的"this"将指向 实例对象function Box(x, y){ this.x = x; this.y = y;};var box1 = new Box(4, 5); // {x:4,y:5}// 使用JS内置构造函数创建对应对象,如Object/Array/Function/RegExp/Stringvar obj = new Obj...原创 2018-12-06 22:44:39 · 196 阅读 · 0 评论 -
JavaScript 中 && 和 || 的返回值
&&若两边的值都能转化成"true",则返回右边的值;若其中一个能转化成false的值,则返回false。// 右边优先级高(其中一边false得到false)console.log(false && 1); // falseconsole.log(false && false); // falseconsole.log(...原创 2018-11-23 14:22:43 · 434 阅读 · 0 评论 -
ES6中的迭代器(Iterator)和生成器(Generator)及关键字yield
迭代器(Iterator):迭代器是一种特殊对象,它具有一些专门为迭代过程设计的专有接口,所有的迭代器对象都有一个next()方法,每次调用都返回一个结果对象。结果对象有两个属性:一个是value,表示下一个将要返回的值;另一个是done,它是一个布尔类型的值,当没有更多可返回数据时返回true。迭代器还会保存一个内部指针,用来指向当前集合中值的位置,每调用一次next()方法,都会返回...原创 2018-11-18 22:27:31 · 374 阅读 · 0 评论 -
JavaScript 的 Promise、async/await
Promise创建一个简单的promise对象:// 创建并执行Promise,传入匿名函数new Promise( (resolve, reject) => { let timeOut = Math.random() * 2; log('set timeout to: ' + timeOut + ' seconds.'); // 1秒后执行判断,小于1输出'成功',...原创 2018-11-18 17:26:53 · 390 阅读 · 0 评论 -
JavaScript 的 "export"和"import"
抛出具名模块:// people.jsexport const people1 = { name: 'zhangsan', age: 30}// 也以可以先定义后exportconst people2 = { name: 'lisi', age: 60}export people2// 导出其他类型数据的格式亦然抛出匿名模块:// people_def...原创 2018-11-08 20:26:21 · 510 阅读 · 0 评论