JavaScript
文章平均质量分 80
kjhz_liang
这个作者很懒,什么都没留下…
展开
-
笔记:《JavaScript面向对象精要》-第5章
五、继承5.1原型对象链和Object.prototype原型对象链:对象继承其原型对象,而原型对象继承他的原型对象,以此类推。原型对象的属性可经由对象实例访问。所有对象都继承自Object.prototype。任何以对象字面形式定义的对象,其[[Prototype]]的值都被设为Object.prototype。5.1.1 继承自Object.prototype的方法hasOwnProperty...原创 2018-05-25 10:32:46 · 272 阅读 · 0 评论 -
笔记:《JavaScript学习指南》-第10章maps和sets
第10章 maps 和 setsES6引入的数据结构:maps 和sets。10.1 mapsMap 是将键和值映射起来的绝佳选择。例如:把 user 对象映射到 roleconst u1 = {name:"liang"};const u2 = {name:"zhu"};const u3 = {name:"ping"};const u4 = {name:"zhang"};//创建 Map 对象co...原创 2018-06-02 08:45:02 · 403 阅读 · 0 评论 -
笔记:《JavaScript学习指南》-第9章对象以及面向对象编程
第9章 对象以及面向对象编程9.1 属性枚举9.1.1 for ... inconst o = {a: 1, b: 2, c: 3};for(let prop in o){ if(!o.hasOwnProperty(prop)) continue; console.log(`${prop}: ${o[prop]}`);}for...in 循环不会枚举出键为符号的属性。9.1.2 Obj...原创 2018-05-31 22:41:41 · 228 阅读 · 0 评论 -
笔记:《JavaScript学习指南》-第8章数组及其处理
第8章 数组及其处理8.1 数组概览8.2 操作数组内容需要记住各个方法,是修改当前数组还是返回新数组。8.2.1 在起始和末尾添加或删除元素pop, push, shift, unshift8.2.2 在末尾添加多个元素concat(),添加多个元素并返回新数组的拷贝。8.2.3 获取子数组slice() ,第一个参数是起始位置,第二个参数是终止位置。可用负数。8.2.4 在任意位置添加或删除元...原创 2018-05-31 22:40:09 · 533 阅读 · 0 评论 -
笔记:《JavaScript学习指南》-第7章作用域
第7章 作用域作用域决定了变量、常量和参数被定义的时间和位置。函数参数的作用域仅限于函数体中。函数的形参只有在函数被调用的时候才存在(变成实参)。一个函数可能会被调用多次:每次函数调用开始时,参数才是真实存在的,在函数返回后参数就失去作用域了。变量和常量只有在创建后才存在。7.1 作用域和存在作用域(或者可见性)指的是当前可见并且可以被正在执行的代码块访问的标识符。存在也指的是标识符。7.2 静态...原创 2018-05-31 16:51:57 · 181 阅读 · 0 评论 -
笔记:《JavaScript学习指南》-第6章函数
第6章 函数函数是一组语句的集合,它是一个独立运行的程序单元。每个函数都有一个函数体,它是构成该函数的一组语句集合。function sayHello(){ //这事函数体;从一个左花括号开始,到右花括号结束}6.1 返回值函数调用是一种表达式。在函数体中,return 关键字会立即结束函数并且返回一个特定值,这就是函数调用产生的值。如果没有明确指定 return 语句,返回值会是 unde...原创 2018-05-31 16:10:33 · 245 阅读 · 0 评论 -
笔记:《JavaScript学习指南》-第5章表达式和运算符
第5章 表达式和运算符表达式是一种特殊的语句,它可以计算出一个值。非表达式语句不产生值。非表达式语句通常会产生某种结果,但是只有表达式语句会对生成的结果做显式的转换。因为表达式能解析成值,所以可以将它们与其他表达式组合在一起,进而将返回的结果再与其他表达式进行组合,以此类推。表达式能解析成值,所以可以用它们来赋值。let x,y;x = 3 * 5;y = x = 3 * 5;第二行存在两个组合在...原创 2018-05-31 15:50:49 · 413 阅读 · 0 评论 -
笔记:《JavaScript学习指南》-第4章控制流
第4章 控制流皇冠和锚的游戏演示:水手托马斯在六个面的组合中放任意数量的硬币,这6个面是"皇冠", "锚", "红心","梅花", "黑桃", "方块"。然后掷三个骰子,每个骰子上面都有之前提到的6个面。如果掷出来的骰子跟他下注的一样,那托马斯就赢了。4.1 控制流的底层游戏将分成三部分:下注、掷骰子、收集赢到的钱。4.1.1 while循环let funds = 50;while(fun原创 2018-05-31 14:49:33 · 558 阅读 · 0 评论 -
笔记:《JavaScript学习指南》-第3章变量和常量
第3章 变量和常量3.1 变量和常量const 定义常量;let 定义变量;应尽可能使用常量。ES6之前使用var来定义变量。使用浏览器控制台调试时,用const、let定义变量后,不能再重新提交相同的代码,否则会报错“ ... has already been declared”。可以使用F5 刷新。3.3 标识符命名变量和常量统统称为标识符。必须以字母、$、下划线( _ )开头。驼峰命名法、蛇...原创 2018-05-31 14:01:14 · 367 阅读 · 1 评论 -
笔记:《JavaScript面向对象精要》-第3、4章
三、理解对象3.1 定义属性当一个属性第一次被添加给对象时,JavaScript在对象上调用一个名为[[Put]]的内部方法。这个操作不仅指定了初始的值,也定义了属性的一些特征。当一个已有的属性被赋予一个新值时,调用的是一个名为[[Set]]的方法。//对象字面形式var person1 = new Object();person1.name = "liang"; //调用[[Put]]的内部...原创 2018-05-24 18:02:13 · 252 阅读 · 0 评论 -
笔记:《JavaScript面向对象精要》-第1、2章
一、原始类型和引用类型1.1 对象的两种类型:JavaScript使用一个变量对象追踪变量的生存期。原始类型保存为简单的值,引用类型则保存为对象,其本质是指向内存位置的引用。1.2 原始类型1..2.1 五种原始类型:BooleanNumberStringNullUnderfined1.2.2 鉴别原始类型使用typeof 操作符console.log(typeof 10); //"number...原创 2018-05-24 17:50:03 · 508 阅读 · 0 评论 -
笔记:《JavaScript学习指南》-第13章函数和抽象思考的力量
第13章 函数和抽象思考的力量13.1 函数作为子程序子程序将一些重复的功能进行简单的封装,并赋予它一个名字。 通常,子程序用来封装某个算法,该算法只是一个可被理解的执行单元,用来执行给定任务。创建一个 判断闰年 的可复用子程序(函数):function printLeapYearStatus(){ const year = new Date().getFullYear(); ...原创 2018-06-03 10:48:39 · 230 阅读 · 0 评论 -
笔记:《JavaScript学习指南》-第12章迭代器和生成器
第12章 迭代器和生成器ES6新概念,迭代器和生成器。生成器依赖于迭代器。迭代器可以粗略的比作书签:它可以帮助用户追踪当前的位置。对于数组,可用通过数组的 values() 方法获取迭代器。next 方法返回的对象的两个属性:value(保存当前的值)和done。const arr = ["a","b","c","d"];const it = arr.values();it.next(); ...原创 2018-06-02 16:56:27 · 248 阅读 · 0 评论 -
笔记:《JavaScript面向对象精要》-脑图
原创 2018-05-26 15:27:33 · 225 阅读 · 0 评论 -
笔记:《JavaScript面向对象精要》-第6章
六、对象模式6.1 私有成员和特权成员通过命名规则区分私有成员,在不希望公有的属性名字前加上下划线(如this._name)。也还有其他很多方法不依赖命名规则。6.1.1 模块模式模块模式是一种用于创建拥有私有数据的单件对象的模式。其基本做法是使用立即调用函数表达式(IIFE)来返回一个对象。IIFE是一种被定义后立即调用并产生结果的函数表达,表达式尾部使用了 小括号() 运算符。该函数表达式可以...原创 2018-05-26 15:24:03 · 203 阅读 · 0 评论 -
笔记:《JavaScript学习指南》-第11章异常和错误处理
第11章 异常和错误处理异常处理是一种以可控的方式处理错误的机制。11.1 Error 对象Error是JavaScript 的内建对象,可以用来处理任意类型的错误(异常或预期错误)。在创建Error 实例是提供一些错误信息:const err = new Error("invalid email");创建出的Error 实例本身不会做任何事,只提供一个传递错误的载体。验证邮箱地址,验证成功,返回...原创 2018-06-02 10:09:49 · 237 阅读 · 0 评论