随笔分类 -  js相关

摘要:{ "env": { "browser": true, "node": true, "commonjs": true }, "ecmaFeatures": { // lambda表达式 "arrowFunctions": true, // 解构赋值 "destructuring": tru... 阅读全文
posted @ 2019-08-07 19:33 不知不觉、 阅读(270) 评论(0) 推荐(0) 编辑
摘要:作为一名前端工程师,必须搞懂JS中的prototype、__proto__与constructor属性,相信很多初学者对这些属性存在许多困惑,容易把它们混淆,本文旨在帮助大家理清它们之间的关系并彻底搞懂它们。这里说明一点,__proto__属性的两边是各由两个下划线构成(这里为了方便大家看清,在两下 阅读全文
posted @ 2019-06-11 18:57 不知不觉、 阅读(514) 评论(0) 推荐(0) 编辑
摘要:new 一个对象 1、创建一个空对象 2、让Person中的this指向obj,并执行Person的函数体 3、设置原型链,将obj的__proto__成员指向了Person函数对象的prototype成员对象 4、判断Person的返回值类型,如果是值类型,返回obj。如果是引用类型,就返回这个引 阅读全文
posted @ 2019-06-11 18:08 不知不觉、 阅读(2226) 评论(0) 推荐(0) 编辑
摘要:function deepClone (obj) { if (obj === null) { // 如果是null则直接返回 return obj; } let copy = Array.isArray(obj) ? [] : {}; for (let key in obj) { if (obj.hasOwnProperty(key)) { if (t... 阅读全文
posted @ 2019-06-11 16:30 不知不觉、 阅读(255) 评论(0) 推荐(0) 编辑
摘要:function main(keywords,data){ function fn(arr){ var flag = false; for(var i = 0;i 0){ var res = fn(item.children); if(res){ item.isHidden = false; if(!i... 阅读全文
posted @ 2019-05-16 16:36 不知不觉、 阅读(514) 评论(0) 推荐(0) 编辑
摘要:CommonJS模块规范 Node应用由模块组成,采用CommonJS模块规范。 根据这个规范,每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。 CommonJS规范规定,每个模块内部,module变量代表当前模块。这个变量是一个对象,它的ex 阅读全文
posted @ 2019-05-12 21:34 不知不觉、 阅读(201) 评论(0) 推荐(0) 编辑
摘要:1.Javascript中所有的对象都是Object的实例,并继承Object.prototype的属性和方法,也就是说,Object.prototype是所有对象的爸爸。(个人感觉搞清楚这一点很重要) 。 在对象创建时,就会有一些预定义的属性,其中定义函数的时候,这个预定义属性就是prototyp 阅读全文
posted @ 2019-01-01 16:33 不知不觉、 阅读(161) 评论(0) 推荐(0) 编辑
摘要:前言 this 指向问题是入坑前端必须了解知识点,现在迎来了ES6时代,因为箭头函数的出现,所以感觉有必要对 this 问题梳理一下,遂有此文 在非箭头函数下, this 指向调用其所在函数的对象,而且是离谁近就是指向谁(此对于常规对象,原型链, getter & setter等都适用);构造函数下 阅读全文
posted @ 2019-01-01 16:17 不知不觉、 阅读(138) 评论(0) 推荐(0) 编辑
摘要:一、对象冒充实现继承 主要原理:构造函数使用this关键字给所有属性和方法赋值.因为构造函数只是一个函数,所以可使ClassA的构造方法称为ClassB的方法,然后调用它. ClassB就会收到ClassA的构造方法中定义的属性和方法. 对象冒充可以实现多继承,但是,如果ClassX和ClassY中 阅读全文
posted @ 2018-12-02 11:28 不知不觉、 阅读(221) 评论(0) 推荐(0) 编辑