Javascript教程第九章:闭包与作用域 一.闭包与作用域 1.延伸函数环境生命周期 在作用域中,只要有一个东西被调用,那么其他的与其共存 function hd(){ let n = 1; return function show(){ console.log(++n); } } hd()(); //返回2 hd()(); //返回2 观察上面的例子,在hd被调用了俩次后,n并没有...
Javascript教程第十章:JS如何实现面向对象 一.面向对象 1.检测属性 Object.hasOwnProperty("name") //只检测到自身,不检测原型 "name" in a //检测a中的原型链是否包含name属性,检测自身和原型 2.操作 delete Object.AttributeName Object.assign(object1,object2) ...
Javascript教程第十二章:对象原型--对象差异化工具 通过构造函数创建出来的对象,要实现公用动作我们将他添加到原型当中, 这样就不用每次创建一个新对象都要复制这个公用动作给该对象。同时这样,我们将特征属性放在原型之外,就可以保证对象之间的差异性。 一.原型 通过构造函数创建出来的对象,要实现公用动作我们将他添加到原型当中,这样就不用每次创建一个新对象都要复制这个公用动作给该对象。同时这样,我们将特征属性放在原型之外,就可以保证对象之间的差异性。 Object.setProt...
Javascript教程第十三章:多态与继承 一.多态与继承 1.使用mixin来实现多继承(JS本身只允许单继承) mixin(混合模式):将不同的功能定义为对象,直接压入需要继承的对象原型当中 2.利用原型制作选项卡(深入理解继承) let section = document.querySelectorAll("section"); //继承方法 function extend(sub,sup){ sub.prototype = Object.create...
Javascript教程第十四章:类--简化面向对象开发 类的内部操作实际上就是原型操作 类语法糖本质上就是上面提到的构造函数,constructor是函数的特殊值,方法会自动添加到构造函数的原型当中 一.类(简化面向对象开发) 类的内部操作实际上就是原型操作 类语法糖本质上就是上面提到的构造函数,constructor是函数的特殊值,方法会自动添加到构造函数的原型当中 1.class声明类的语法 class User{ constructor(name){ ...
Javascript教程第十五章:模块化编程--工程化的重要一步 类的内部操作实际上就是原型操作 类语法糖本质上就是上面提到的构造函数,constructor是函数的特殊值,方法会自动添加到构造函数的原型当中 一.模块化编程 1.开发一个模块管理引擎 let myModule = (function(){ //定义容器存储模块 const moduleList = {}; function define(name,modules,action...
Javascript教程第十六章:异步编程 一.异步编程 1.Promise微任务处理机制 Promise会创建微任务列表,宏任务列表会优先让微任务列表进行处理 new Promise((resolve,reject)=>{ resolve("加载成功"); // regect("加载失败") }).then( value => { console.log("加载成功的业务处理1"); }, reason => { ...
Javascript教程第一章:走进Javascript 本章我会带大家走进Javascrpt,从最初的变量声明方式到ES6现代化的变量声明方式,并了解不同声明方式的特性 一.第一章:走进JavaScript 1.变量提升 定义:"函数"及"变量的声明"都将被提升到函数的最顶部(函数,变量,上升到函数的顶部)。 console.log(web) var web = "hundunren.com" 隐式变量不会进行提升 使用var定义变量的时候变量声明会先提升函数顶部,赋值在下,所以输出undefined 用le...
Javascript教程第四章:数组引用类型分析 一.数组引用类型分析 1.数组的常用操作: 1.增加: Array.push() 增加数据 Array.unshift() 从前面压入数据 2.删除: Array.pop() 删除数据 Array.shift() 从前面删除数据 Array.splice(1,1,"houdunren") 3.改: `js...
Javascript教程第三章:JavaScript值类型使用 一.JavaScript值类型使用 1.章节介绍与类型判断 typeof 2.字符串转义与模板字面量使用 let hd = new String("houdunren.com") let hd = 'houdunren.com' let site = "houdunren.com" console.log(网站是${site}) \用于引号转义 模板字面量在使用的时候不能用单引号,需要使用 ...