![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVASCRIPT
文章平均质量分 56
白_夜_行
这个作者很懒,什么都没留下…
展开
-
js中的原始值和包装对象
var s = "hello world";console.log(s) //11思考一个问题:字符串在js中属于基本数据类型,为什么会有属性呢?在js中只要引用了字符串s的属性,js就会将字符串值通过new String(s)的方式转换成对象,这个对象继承了字符串的方法,并用来处理属性的引用。一旦引用结束,这个新创建的对象就会销毁(具体实现未必是销毁,表现形式是这样的)var s原创 2017-08-05 16:52:06 · 1211 阅读 · 0 评论 -
js中 == 和 ===
js中的==和===真的让人感觉非常奇怪,有时候会产生很多错觉。为此就根据《js权威指南》中的介绍详细的解释梳理了一下两者的区别。==运算符称作“相等运算符”===运算符称作“严格相等运算符”或者“恒等运算符”严格相等运算符首先计算其操作数的值,然后比较这两个值,比较过程中,没有任何类型转换:1.如果两个值类型不相等,则他们不想等。2.如果其中一个值是NaN,或者两个值原创 2017-08-05 18:31:00 · 824 阅读 · 1 评论 -
一道笔试题引发的一系列js类型转换的坑
前两天看到这道笔试题当时做错了,我的答案是true false false(大家可以想下自己的答案)然后仔细查阅了一下资料发现js的类型转换确实还是挺多小坑的,下面是我整理的资料,相信看完这道题也就迎刃而解了:js中的==和===第一题:[]会转换成为一个布尔值,根据前面说的所有的对象都转换为true,则第一题返回true第二题:首先[]会转换为原始值,首先调用valu原创 2017-08-06 12:43:04 · 545 阅读 · 0 评论 -
js正则表达式的贪婪匹配和非贪婪匹配
所谓贪婪匹配就是匹配重复字符是尽可能多的匹配,比如:"aaaaa".match(/a+/);//["aaaaa", index: 0, input: "aaaaa"]非贪婪匹配就是尽可能少的匹配,用法就是在量词后面加上一个“?”,比如:"aaaaa".match(/a+?/);//["a", index: 0, input: "aaaaa"]但是非贪婪匹配有时候和我们期待的并不原创 2017-09-04 22:31:28 · 5678 阅读 · 0 评论 -
js正则表达式的选择、分组、引用
分组:字符串“|”用于分隔供选择的字符选择的尝试匹配次序是从左到右,直到发现了匹配项,就忽略右边的匹配项,即使它产生了更好的匹配。"ab".match(/a|ab/)//["a", index: 0, input: "ab"]上面的匹配即便ab更合适但还是只会匹配a分组:使用()把单独的项组合成子表达式,以便可以像处理一个独立的单元那样用“|”、“*”、“+”、“?”等来对单元内原创 2017-09-04 23:07:11 · 3857 阅读 · 0 评论 -
深入理解事件冒泡和事件捕捉
前几天做到阿里的前端面试题,其中的一道选择题考查的知识点就是事件的传播,当时做题的时候不确定答案所以决定总结下这方面的知识点。首先事件传播分为三个阶段:第一阶段:发生在目标处理程序调用之前,称为捕获阶段;第二阶段:目标对象本身的事件处理程序调用;第三阶段:发生在目标处理程序调用之后,称为冒泡阶段;回顾历史:两种模型早期在事件处理顺序上Netscape和微软有两种截然原创 2017-08-29 21:54:54 · 300 阅读 · 0 评论 -
JS中的继承实现
一.类式继承//父类function superClass(value){ this.superValue = value;}superClass.prototype.getSuperValue = function(){ return this.superValue;}//子类function subClass(value){ this.subValue原创 2017-12-23 15:25:30 · 128 阅读 · 0 评论 -
js设计模式—建造者模式
建造者模式:将一个复杂对象的构建层与其表示层相互分离,同样的构建过程可以采用不同的表示。主要用于分步骤构建一个负责的对象,在这其中“分步骤”是一个稳定的算法,而复杂对象的各个部分则经常变化。下面我们通过一个代码来说明:// 创建一个应聘者对象// 可以把这个复杂的应聘者对象分为三个对象:// 1.人类对象// 2.姓名对象// 3.工作对象//人类var Human = func原创 2017-12-24 15:46:00 · 351 阅读 · 0 评论 -
js设计模式—单例模式
单例模式可以说是js中最常用的设计模式了,主要用来进行模块的管理,提供一个命名空间,以减少全局变量的定义,避免产生变量冲突。例如在团队项目开发的时候,我们可以为自己的代码定义一个命名空间:var Tom = { eat: function(){ }, run: function(){ }, sleep: function(){原创 2017-12-24 16:42:15 · 212 阅读 · 0 评论