Ref: 对象的扩展 Outline: 属性的简洁表示法 属性名表达式 方法的 name 属性 Object.is() Object.assign() 属性的可枚举性和遍历 Object.getOwnPropertyDescriptors() __proto__属性,Object.setPrototypeOf(),Object.getPrototypeOf() super 关键字 Object.keys(),Object.values(),Object.entries() 对象的扩展运算符 简洁…
前言 范围包括:ECMAScript 新功能以及对象. 当前的主要目的就是,JS的学习 --> ECMAScript 6 入门 let 命令 js 因为let, i的范围限制在了循环中. var a = []; for (let i = 0; i < 10; i++) { a[i] = function () { console.log(i); }; } a[6](); 里外不一样作用域. for (let i = 0; i < 3; i++) { // 设置循环变量的那部分是一个父作用…
Ref: Class 的基本语法 Ref: Class 的基本继承 许多面向对象的语言都有修饰器(Decorator)函数,用来修改类的行为.目前,有一个提案将这项功能,引入了 ECMAScript. Ref: JavaScript 中的 this 用法以及 call(apply) 的理解 Ref: JavaScript Object-Oriented Programming Tutorial - OOP with E6[简单介绍引入了类后,带来的简单写法] 基础概念 Class关键字 (1)…
这一章,估计是js最操蛋的一部分内容. 现代方法: 简介 Object.getPrototypeOf() super 关键字 类的 prototype 属性和__proto__属性 原生构造函数的继承 Mixin 模式的实现 远古方法: * <Javascript面向对象编程(一):封装>[可略,已看] * <Javascript面向对象编程(二):构造函数的继承> * <Javascript面向对象编程(三):非构造函数的继承> 热身一 调用Object.create…
开胃菜 prototype 对象 JavaScript 语言的继承则是通过“原型对象”(prototype). function Cat(name, color) { // <----构造函数 this.name = name; this.color = color; this.meow = function () { console.log('喵喵'); }; } var cat1 = new Cat('大毛', '白色'); var cat2 = new Cat('二毛', '黑色'); c…
扩展运算符(spread) 先复习下 rest 参数. (1) argument模式,但不够好. // https://blog.csdn.net/weixin_39723544/article/details/78460470 function foo(a, b) { var i, rest = []; if (arguments.length > 2) { for (i = 2; i<arguments.length; i++) { rest.push(arguments[i]); } }…
一段引言: Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大. 它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象. 开胃菜 - 四种方法 Ref: Javascript异步编程的4种方法 Javascript语言将任务的执行模式分成两种:同步(Synchronous)和异步(Asynchronous). *** "同步模式"就是上一段的模式,后一个任务等待前一个任务结束,然后再执行,程序的执行顺序…
js types & primitive & object js 数据类型 typeof null // "object" typeof undefined // "undefined" typeof Symbol('symbol desc') // "symbol" typeof Symbol // "function" typeof `strings` // "string" typeo…
JS 深度拷贝 Object Array function cloneObj(o) { var isArray = o instanceof Array; var isObject = o instanceof Object; if (!isObject) return o; var n = (isArray ? [] : {}); for (var k in o) n[k] = cloneObj(o[k]); return n; } 遇到的问题 typeof [] 结果为 objecttype…
JS如何遍历Object中的所有属性? var params = ""; for(var i in baseParams){ params += "&" + i + "=" + baseParams[i]; }…