第八章 对象、类与面向对象编程
理解对象 ECMA-262 将对象定义为一组属性的无序集合。对象的每个属性或方法都由一个名称来标识,这个名称映射到一个值 属性的类型ECMA-262 使用一些内部特性来描述属性的特征,开发者不能在 JavaScript 中直接访问这些特性。为了将某个特性标识为内部特性,规范会用两个中括号把特性的名称括起来,比如 [[Enumerable]] 属性分两种:数据属性和访问器属性1、数据属性数据属性包含一个保存数据值的位置。值从这个位置读取,也会写入到这个位置。数据属性有4个特性描述它们的行为: [[Configurable]]:表示属性是否可以通过 delete 删除并重新定义,是否可以修改它的特性,以及是否可以把它改为访问器属性。默认值为false。默认情况下,所有直接定义在对象上的属性的这个特性都是 true [[Enumerable]]:表示属性是否可以通过 for-in 循环返回。默认值为false。默认情况下,所有直接定义在对象上的属性的这个特性都是 true [[Writable]]:表示属性的值是否可以修改。默认值为false。默认情况下,所有直接定义在对象上的属性...
第六章 集合引用类型
Array创建数组 使用 Array 构造函数 数组字面量 ES6 在 Array 构造函数上新增了两个用于创建数组的静态方法:from() 和 of() from() 用于将类数组解构转换为数组实例参数:第一个参数是一个类数组对象,即任何可迭代的结构,或者有一个 length 属性和可索引元素的结构;第二个参数为可选,是一个函数,新数组中的每个元素都会执行该回调函数;第三个参数为可选,指定执行回调函数时的 this(箭头函数不适用) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748// 字符串会被拆分成单字符数组Array.from('Matt') // ['M','a','t','t']// 可以将集合和映射转换为一个新数组const a = new Map().set(1,2).set(3,4)const b = new Set().add(1).a...
第五章 基本引用类型
DateDate.now() 返回表示方法执行时日期和时间的毫秒数 1Date.now() === new Date().getTime() // -> true Date.toLocaleString()参数: locales String or Array options Object options 属性及说明 |属性|说明|可选值||:–:|:–:|||weekday|星期|’narrow’:最短 S;’short’:缩写 Sun;’long’:长 Sunday||era|纪元|’narrow’:最短 A;’short’:缩写 AD;’long’:长 Anno Domini(公元,西元)||year|年|’2-digit’: 21年;’numeric’:2021年||month|月|’2-digit’: 09月;’numeric’:9月||day|日|’2-digit’: 09日;’numeric’:9日||hour|小时|’2-digit’: 下午03时;’numeric’:下午3时||hour12|小时|默认值:true,即使用12小时制。false为使...
第四章 变量、作用域与内存
原始值与引用值动态属性原始值类型的初始化可以只使用原始字面量形式。如果使用的是 new 关键字,则 JavaScript 会创建一个 Object 类型的实例,但其行为类似原始值 12345678let name1 = 'haha'let name2 = new String('hehe')name1.age = 25name2.age = 26console.log(name1.age) // undefinedconsole.log(name2.age) // 26console.log(typeof name1) // stringconsole.log(typeof name2) // object 执行上下文与作用域变量对象( variable object ) 每一个上下文都有一个关联的变量对象,而这个上下文中定义的所有变量和函数都存在于这个对象上 作用域链( scope chain )活动对象( activation object ) 作用域链增强某些语句会导致在作用域链前端临时添加一个上下文,这个上下文在代码执行后会被...
第三章 语言基础
数据类型及转换为什么let声明的变量会出现暂时性死区问题 使用 var 声明变量时,由于声明会被提升,javascript 引擎会自动将多余的声明在作用域顶部合并为一个声明。因为 let 的作用域是块,所以不可能检查前面是否已经使用 let 声明过同名变量,同时也就不能在没有声明的情况下使用它 typeof typeof是一个操作符而不是函数,所以不需要传参(但可以使用参数) 123let msg='hello world'typeof msg; //-> 'string'typeof(mgs); //-> 'string' 即使变量未声明,也可以执行typeof操作,且只能执行这个有用的操作,返回结果是'undefined' null 任何时候,只要变量要保存对象,而当时又没有那个对象可保存,就要用null来填充该变量。这样就可以保持null是空对象指针的语义,并进一步将其与undefined区分开来 —–高程4 57页 Number Number类型使用了 IEEE754 格...
神秘现象
记录我及亲朋经历过的神秘现象 地宫小时候(10岁之前)上坟烧纸,在坟边看见一个洞,从洞里看到一口红漆棺材 回村路上一 邻居口述 邻居傍晚骑摩托回村,路上看到一个白飘,眨眼功夫没了。原来那附近是有一个庙的,十年的时候给毁了,现在又重新给建起来了 荒村 舅妈口述 我姥姥所在的村子在08年的时候彻底废了,那村在山顶上,村里人都搬山下了。我四舅在那村里一个人住了有好多年,08年才搬下来。 山下村里有几个小孩跑山上村里玩,在人家烧香的桌子上玩,回家后就发烧了,吃药打针输液都不行,后来找了个婆子弄好的 棺材 我爸和姑父聊天 下葬的时候棺材要偏一点,不能摆正(村里办白事的人说的,暂且叫礼官吧)。礼官就是负责“规矩”的,祭品怎么摆,抬棺上坟怎么弄,坟里陪葬品怎么摆,生效八字不合的不能上坟之类的 我姑父家里老人下葬的时候,棺材是摆正的,没有偏,他没听礼官的。人家现在也算中产了吧 回村路上二 就是上面邻居看见白飘的路上 我爸朋友的车坏了,他找我爸帮忙拖车,那天车不知道怎么回事,怎么也打不着,又把修车的朋友叫过来看,没问题,但就是打不着。(期间也找了别的朋友,都有事)到傍晚的时候终于好了,...
解决遇到的问题
系统卡顿起因windows 10 21H2 发布后,下载镜像把系统全新安装了。把所有设置都做好,软件、环境都安装好,系统总是出现莫名的卡顿,而且出现的时间是随机的。具体表现为:1、鼠标指针移动时会有明显的卡顿2、右键菜单卡顿3、部分程序卡顿 解决方法设置 - 个性化 - 颜色 下图两个选项,要么全选,要么全不选 总结这个问题很诡异,任务管理器查看CPU、内存、磁盘使用率都正常,但电脑用起来就是卡顿 VS Code 不显示 git 记录,修改文件也没有修改标识进行 git 操作报错:git fatal: detected dubious ownership in repository 原因分析重装系统后出现的这个问题。我是两块硬盘,一个系统盘,一个数据盘,数据盘上的代码会出现这个问题 原因是重装系统后,数据盘的所有者不一样,导致不能访问 解决方法右键数据盘-属性-安全-高级,点击所有者那一行后面的更改,输入当前登录的用户名并点击检查名称,检查完成后点确定,勾选所有者那一行下面的勾选框,一路确定,完事
为什么好人没好报
或曰:“天道无亲,常与善人。”若伯夷、叔齐,可谓善人者非邪?积仁洁行,如此而饿死。且七十子之徒,仲尼独荐颜渊为好学。然回也屡空,糟糠不厌,而卒蚤夭。天之报施善人,其何如哉?盗跖日杀不辜,肝人之肉,暴戾恣睢,聚党数千人,横行天下,竟以寿终,是遵何德哉?此其尤大彰明较著者也。若至近世,操行不轨,专犯忌讳,而终身逸乐,富厚累世不绝。或择地而蹈之,时然后出言,行不由径,非公正不发愤,而遇祸灾者,不可胜数也。余甚惑焉,倘所谓天道,是邪非邪? —— 史记 · 伯夷列传 高三的时候第一次看到这段话,很受震撼,为什么好人没好报?这便成为了我心中的一个结。在一次班级阅读分享会上,我提出了这个问题,当时的语文老师说:历史是一个圈,这类的话,并没有解开我心中的疑惑。这个问题也一直伴随至今,只是忙于生计,也没有时间去想它了。 今天吃饭时,心中突然有了答案:好人需要好报吗?或者说好人是为了我们所想的“好报”才去做的好事吗?拿伯夷叔齐来说,他们宁死不食周黍,饿死对他们来说,是“没有好报”吗?恰恰相反,这是最大的“好报”了。恰如庄子所说:子非鱼,焉知鱼之乐 或许,只是为了心安
被误解的句子
以德报怨出处:《论语》-《宪问》 或曰:“以德报怨,何如?” 子曰:“何以报德?以直报怨,以德报德。” 而后《礼记》-《表记》做了进一步说明:子曰:“以德报怨,则宽身之仁也;以怨报德,则刑戮之民也。”孔颖达 疏:“今以德报怨,但是宽爱己身之民,欲苟息祸患。” 不孝有三,无后为大出处:《孟子》-《离娄上》 孟子曰:“不孝有三,无后为大。舜不告而娶,为无后也,君子以为犹告也。” 对于这一说法,《孟子》-《万章上》 做了进一步的说明: 万章问曰:“《诗》:‘娶妻如之何?必告父母。’信斯言也,宜莫如舜。舜之不告而娶,何也?”孟子曰:“告则不得娶。男女居室,人之大伦也。如告,则废人之大伦,以怼父母,是以不告也。”万章曰:“舜之不告而娶,则吾既得闻命矣;帝之妻舜而不告,云何也?”曰:“帝亦知告焉则不得妻也。” 量小非君子,无毒不丈夫出处:《望江亭》第二折 颇奈白士中无理,他在潭州为官,未经赴任,便去清安观中央道姑为媒,倒娶了谭记儿做夫人。常言道:“恨小非君子,无毒不丈夫。”论这情理,教我如何容得他过?他妒我为冤,我妒他为仇。小官今日奏知圣人:“有白士中贪花恋酒,不理公事。”奉圣...
错题集
CSS1、设置元素浮动后,该元素的 display 值是什么(A ) A、block B、不变 C、inline D、inline-block 解析:当元素设置浮动之后,会完全脱离文档流。块元素脱离文档流之后,高度和宽度都被内容撑开;内联元素脱离文档流后,会变成块元素 JavaScript数组1、 1234let arraynew = new Array(5)arraynew[1] = 1arraynew[5] = 2console.log(arraynew.length) // 6 解析:使用 Array() 构造器创建数组,当传一个范围在 0 到 2^32-1 之间的整数时,将返回一个 length 的值等于传入的整数的空数组(是空数组,不是值为undefined的数组,但是获取索引对应的值时,将返回undefined),如果传入的值是其他类型的,则会返回一个新数组,传入的值会依次放入新数组new Array(‘5’,4,[1,2]) => [‘5’,4,[1,2]]new Arr...









