第四章 变量、作用域与内存
原始值与引用值动态属性原始值类型的初始化可以只使用原始字面量形式。如果使用的是 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 Array([1,2] ...
git
删除已经提交到远程仓库中的文件并在本地取消跟踪123git rm -r --cached fileName or foldergit commit -m 'delete fileNmae or folder/'git push origin branch
将指定文件夹里的文件推送到 gh-pages 分支1git subtree push --prefix folder origin gh-pages
merge 和 rebasemerge: 合并。把另一分支的提交合并到当前分支,这一次的合并操作会在当前分支上形成一个新的提交rebase: 取出另一个分支的提交记录,“复制”它们,然后在当前分支逐个放下去
1git merge main
1git rebase main
HEAD相对引用:
使用 ^ 向上移动 1 个提交记录
使用 ~ 向上移动多个提交记录,如 ~3
撤销更改还未提交到暂存区1git checkout -- fileName
该命令可理解为撤销最近的未提交的修改
已提交到暂存区
git reset:通过把分支记录回退几个提交记录 ...
gird布局
在 CSS 网格中,父元素称为容器( container ),它的子元素称为项( item )
将元素转换为网格只会影响其子元素。因此,把某个子元素设置为网格,就可以得到一个嵌套的网格
gird-template-columns 和 grid-template-rows使用 grid-template-columns 添加列使用 grid-template-rows 添加行
1234.container{ display: grid; grid-template-columns: 50px 50px;}
以上代码会在网格容器中添加两列,每列的宽度为 50px,也可以使用 repeat 批量生成列
1grid-template-columns: repeat(2,50px) // 生成两个宽度为 50px 的列
还可以使用 repeat 方法重复多个值,并在定义网格结构时与其他值一起使用
123grid-template-columns: repeat(2,1fr 50px) 20px;// 以上代码效果相当于grid-template-columns ...
html查漏补缺
HTML全局属性
全局属性是所有HTML元素共有的属性,它们可以用于所有元素,即使属性可能对某些元素不起作用
属性
描述
accesskey
规定激活元素的快捷键
class
规定元素的一个或多个类型(引用样式表中的类)
contenteditable
规定元素内容是否可编辑
contextmenu
规定元素的上下文菜单。上下文菜单在用户点击元素时显示
data-*
用于存储页面或应用程序的私有定制数据
dir
规定元素中内容的文本方向
draggable
规定元素是否可拖动
hidden
隐藏元素
id
规定元素的唯一 Id
lang
规定元素内容的语言
spellcheck
规定是否对元素进行拼写和语法检查
style
规定元素的行内CSS样式
tabindex
规定元素的tab键次序
title
规定有关元素的额外信息
translate
规定是否应该翻译元素内容(值为 yes 或 no)
详解data-*
data-* 属性赋予我们在所有 HTML 元素上嵌入自定义 data 属性的能力。存储的数据能够被 ...