javascript_es6
es6笔记
野生技术协会
杂乱个人资料记录
展开
-
js8-js中this相关问题汇总
js中this相关问题汇总一、this的基本使用// 1、直接使用this,在浏览器是window对象,在node环境是global对象。console.log(this);// 2、在对象中的this,如果是作为Obj.method调用,那么就是Obj对象,如果直接作为方法执行,就是全局对象// global.id = 1; var obj = { id: 1, printThis: function () { console.log(this.id); }}ob原创 2020-12-20 16:13:40 · 185 阅读 · 3 评论 -
js7-toString
JS toString 打印效果Object原型的toString方法Object.prototype.toString// 1、Object.toString()可以打印出对象的构造函数类型,默认打印格式为[object Boolean|Number|String|Date|Array|Function]// 2、简写 ==> 因为{}对象直接继承Object.prototype// 3、用这个toString获取自定义对象的类型,只能打印[object Object]// 4、如果是对象直原创 2020-12-20 15:31:41 · 324 阅读 · 4 评论 -
js6-js属性相关
js属性就是js对象的一个成员变量,分为数据属性和访问器属性,数据属性可以直接obj.xx的方式进行定义。js访问不存在的属性,返回undifined,但是不会报错。一、属性基本操作// 定义和访问的属性方式:// 通过obj.prop进行定义,通过obj.prop获取属性的值,如果带有-,定义时需要加引号,// 属性的key是一个变量或字符串,需要通过obj[key]获取obj.name = "xxx";var empty = { "zhang-san": "1", "li_si":原创 2020-12-20 15:28:47 · 369 阅读 · 4 评论 -
js5-getPrototypeOf和isPrototypeOf
原型检查的方法 getPrototypeOf 和 isPrototypeOf// getPrototypeOf 可以获取对象的原型对象。// obj.isPrototypeOf(pro_obj) 可以判断是否为某个对象的原型// 1、例子function Fn() {}var fn = new Fn();var prototype = Object.getPrototypeOf(fn);console.log(prototype); // Fn(){}prototype = Obje.原创 2020-12-20 15:22:26 · 482 阅读 · 4 评论 -
js4-js宏任务和微任务
一、js宏任务和微任务 // 什么是eventLoop,就是nodejs把要执行的事件任务放入队列中,其中任务类型分为宏任务和微任务,当每次主线程 // 执行完后就会到任务队列中寻找任务进行执行,先执行宏任务,再执行宏任务中的微任务。 // 宏任务和微任务特征。 // 宏任务: setTimeout() setInterval() 主体script // 微任务: Promise.then process.nextTick , 【早于下一个宏任务,开始于当前宏任务的结束...原创 2020-12-20 15:20:16 · 209 阅读 · 5 评论 -
js3-数据类型
js 数据类型的总结1 、原始类型 --- 原始类型有string number boolean null undefined symbolvar a = 'str';var b = 1;var d = false;var c = null;var e = undefined;var s = Symbol('abcde');2、原始类型的包装类 : String, Number, Object, Booelan, Symbol3、typeof的类型监测结果console..原创 2020-12-19 16:44:52 · 657 阅读 · 4 评论 -
js2-clone
js浅克隆和深克隆1 、什么是浅克隆?只对外部对象进行克隆,不对此对象属性的值如果也是一个对象,那么就不进行克隆,如果数组,只是复制数组,数组的内容没变。// 1、对象浅复制var obj1 = { a: { x: 1 } };var obj2 = Object.assign({}, obj1);console.log(obj2);obj1.a.x = 2;console.log(obj2);// 2、数组浅复制var arr = [{ x: 0 }, { x: 1 }];..原创 2020-12-19 16:39:55 · 176 阅读 · 4 评论 -
js1-aop
Js的Aop演示 什么是aop,Aop 即不改变原有类或方法的基础上,扩展方法的功能原创 2020-12-19 16:21:26 · 154 阅读 · 4 评论 -
es6(七)-模板字符串
// es6 模板字符串和一些增加的一些字符串方法。//1、单行var name = "zhangsan" ;console.log("hello " + name);var temp = `hello ${name}`; // 模板方式的效果。console.log(temp);//2、多行var article_old = "this is one line\n" +" this is two line\n";console.log(article_old);...原创 2020-12-19 16:16:23 · 146 阅读 · 4 评论 -
es6(六)-symbol
// symbol 表示独一无二的值。// 1、如何创建symbolvar s = Symbol();console.log(typeof s); // symbollet s1 = Symbol('foo');let s2 = Symbol('foo');s1 // Symbol(foo)s2 // Symbol(foo)s1.toString() // "Symbol(foo)"s2.toString() // "Symbol(foo)"console.log(s1.toS..原创 2020-12-19 16:15:28 · 174 阅读 · 4 评论 -
es6(五)-promise
// Promise 详解// Promise 主要作用,是将异步回调执行的任务,顺序化,实际上还是异步,但是执行的顺序更容易控制。// promise是一个对象,它可以保存状态,而这个状态可以由回调函数进行修改。// 基本结构new Promise(function(resolved,reject){ if(true) {resolved()} else {reject()}});// 一、Promise的参数是一个函数,这个函数会在new时立即执行,但是这个函数的2个回调函数的参数,可以改原创 2020-12-19 16:14:34 · 159 阅读 · 4 评论 -
es6(四)-...操作符
// ...操作符 //展开运算符(...) 允许一个表达式在某处进行“展开”,即多个参数(函数调用)或多个元素(数组) //或多个变量的地方进行使用。 另外,展开运算符只可用在数组等可遍历元素中。 //简单来说就是数组加一个...符号,代表多个参数的一种状态进行使用。 // 1、数组给方法多个参数进行赋值。 var sum = function( a , b , c) { console.log(a + b + c); } var params = [1, ...原创 2020-12-19 16:13:57 · 267 阅读 · 4 评论 -
es6(三)-let、const
// ES6 ---- let const 关键字// const let var 的区别// 1、const 和 let 不能重新定义let a = 1;//let a = 2;//console.log(a); //Identifier 'a' has already been declared// 2、let 和const 拥有块作用域, 而var声明的没有块作用域,具体表现最只管就是for的效果for (var i = 0; i < 10; i++) { setTim..原创 2020-12-19 16:13:12 · 155 阅读 · 3 评论 -
es6(二)-对象解构
// 二、对象解构(解构赋值对象或数组) // 什么叫解构赋值? 就是把一个对象或数组的部分,用同样结构的变量进行接收它的赋值。 let [a, b, ...c] = [1, 2, 3, 4, 5, 6] console.log(a); //1 console.log(b); //2 console.log(c); //[ 3, 4, 5, 6 ] console.log("..............."); let { name,...原创 2020-12-19 16:12:33 · 159 阅读 · 3 评论 -
es6(一)-箭头函数
// 四、箭头函数//1、基本案例var fn = function (param) { return param; }; // 原标准函数格式:var fn = (param) => { return param; }; // 省略functionfn = param => param; // 单行可以省略{reutrn },单参数可以省略();console.log(fn(1));//2、箭头函数的this对象。// 箭头函数没有自己的this, 它的this是继...原创 2020-12-19 16:10:18 · 166 阅读 · 4 评论