![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS
Jacano
这个作者很懒,什么都没留下…
展开
-
【JS】this机制
this指向什么?this是在函数被执行时,指向调用它的对象。 用代码来理解这句话: var a = 2 function fn() { console.log(this.a); } fn() // 2 这种情况下,函数fn是直接加在全局对象上,this指向全局对象(这里是window),变量a也是window的属性,因此打印出来是2 var a = 2 var o = { ...原创 2019-03-04 17:58:26 · 122 阅读 · 0 评论 -
【JS】作用域
1.ES6之前 在ES6之前,Javascript只有全局作用域和函数作用域,定义变量也是用var关键字。 var a = 5; function fn() { console.log(a); // 5 } fn() // fn函数能访问到全局作用域下的a变量 因为没有块级作用域,所以在块级作用域中的变量相当于全局作用域中的变量 { var a = 5 } console.lo...原创 2019-03-02 23:14:48 · 89 阅读 · 0 评论 -
【JS】JS中的继承
1.原型链继承 function SuperType() { this.property = true; } SuperType.prototype.getSuperValue = function() { return this.property; } function SubType() { ths.subproperty = false; } SubType.pr...原创 2019-03-06 14:49:03 · 87 阅读 · 0 评论 -
【JS】闭包
了解闭包之前,我们要简单明白下JS中的作用域,JS中的作用域分为全局作用域和局部作用域。 在全局作用域中访问不了局部作用域中的变量 在局部作用域可以访问全局作用域中的变量 那如果我们怎么在全局作用域中访问局部作用域中的变量呢?闭包可以帮我们解决这个问题。 简单的说,就是在局部作用域中(函数)返回一个函数,这个函数就是闭包。 function fn() { let a = 10; ret...原创 2019-03-03 22:41:53 · 77 阅读 · 0 评论 -
【JS】Object.defineProperty
1.创建对象 创建对象: var o = new Object(); o.name = "John"; o.age = 20; o.sayHello = function(){ console.log(this.name); } 以上是我们创建对象的一种方式,通常我们通过字面量的形式创建对象。 var o = { name: "John", age:20, sayHello: f...原创 2019-03-06 17:25:05 · 96 阅读 · 0 评论 -
【JS】原型
万物皆对象,函数也同样是对象,是特殊的函数对象 function fn() {} let a = new fn(); let b = new Function() console.log(typeof a); // object console.log(typeof b); // function 打开浏览器,输入fn,会发现fn有一个prototype(原型)属性,这个属性是一...原创 2019-03-04 10:36:14 · 126 阅读 · 0 评论 -
【JS】数组和对象的深拷贝
一.数组的深拷贝 let arr = [ undefined, function(){ console.log(123); }, true, null, { name:"123", age:23 } ]; // arr作为拷贝对象 1)Array.from() Array.from()能将一个类数组转化成一个真正的数组,因此它返回的是一个新...原创 2019-03-04 21:27:22 · 96 阅读 · 0 评论