
javascript
文章平均质量分 67
create13
这个作者很懒,什么都没留下…
展开
-
js递归和闭包
以上代码,在匿名函数从createCompare中返回后,它的作用域链被初始化为包含createCompare函数的活动对象和全局变量对象。更为重要的是createCompare()函数在执行完毕后,其活动对象也不会被销毁,因为匿名函数的作用域链仍然在引用这个活动对象。所以,由于闭包会携带包含它的函数的作用域,因此闭包会比其他函数占用更多的内存。所以我们在执行完函数后,将保存匿名函数的compare的变量设置为null解除该函数的引用。内部函数会将包含外部函数的活动对象(name)添加到它的作用域中。原创 2023-10-18 12:53:17 · 264 阅读 · 0 评论 -
js原型链以及实现继承的手段
一组在实例上,一组在原型中。简单回顾一下构造函数、原型和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。那么,假如我们让原型对象等于另一个类型的实例,此时的原型对象将包含一个指向另一个原型的指针,相应的,另一个原型中也包含着一个指向另一个构造函数的指针。(实际上不是Person原型的constructor属性被重写了,而是Person的原型指向了另一个对象Human的原型,而这个原型对象的constructor属性指向的是Human)原创 2023-10-17 22:00:11 · 788 阅读 · 0 评论 -
js创建对象的几种设计模式
我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的作用是包含可以由特定类型的所有实例共享的属性和方法。调用构造函数时会为实例添加一个指向最初原型的指针,而friend的指针指向的是旧的原型对象。此后,原型已经完成初始化。如果我们给实例添加一个属性,这个属性和原型属性同名,那我们就在实例中创建该属性,该属性会屏蔽原型中的那个属性。为减少不必要的输入,也为了从视觉上更好的封装原型功能,更常见的做法是用一个包含所有属性和方法的对象字面量来重写整个原型对象。原创 2023-10-16 15:19:31 · 372 阅读 · 0 评论 -
js设计模式
学习设计模式js中的设计原则。原创 2023-10-13 11:33:35 · 213 阅读 · 0 评论 -
正则表达式初体验
1.基本语法.除换行外任何字符优先级较高作用一\.普通点转义后作用二\d数字0~9\s空白\S除了空白[]元子表中加入^非匹配非元子表中的其他内容let price = '23.23';let price1 = 2323; console.log('验证点的作用一', /\d+.\d+/.test(price1)); // 输出 true .除换行外任何字符console.log('验证点的作用二', /\d+\.\d+/.test(price)); //...原创 2021-08-16 15:55:02 · 630 阅读 · 0 评论 -
js ~~运算符作用 以及**运算符
刷力扣题 整数反转 发现自己写的很麻烦 再然后看了官方解析 里面用到了~~运算符 于是记录一下1.~ 是按位非 也就是按位取反 那么2个~~就是2次取反 粗略的说是保持原值 但是~后面如果跟的值不是int类型 会被强制转换为int类型 所以~~可以将字符串转换成数值 并且在有小数点的情况下取整当然直接是数值的情况下~~遇到小数点也是转换init类型 取整~~"123" // 123~~"123.4" // 123~~123 // 123~~123.4 // 123 2.~~后面如果跟Bo原创 2021-08-06 14:20:03 · 3940 阅读 · 0 评论 -
面向对象以及相关知识
1.什么是对象?(1)只要是对象就可以有自己的私有属性。例如:let obj= new Object(); obj.name= 'lee'; 我们这里obj这个对象有自己的私有属性,私有属性就是namelet str = 'abc'; str.name = 'efg'; console.log(str.name); // undefined 因为str是字符串不是对象 所以没...原创 2020-05-08 00:02:13 · 266 阅读 · 0 评论 -
验证js对象中是否存在某个方法或者属性
1.以window为例 在控制台中输入window2.验证方法 以WebSocket为例if (window.WebSocket) { console.log('WebSocket');}if (typeof(window.WebSocket) === 'function') { console.log('WebSocket');}if (window.W...原创 2019-05-09 16:01:09 · 9212 阅读 · 0 评论 -
分分钟掌握this关键字的指向
1.this的值取决于函数被调用的方式正常调用指向window 谁调用就指向谁var objData = {a: 'custom'};// 这个属性是在global对象定义的var a = 'global';function whatsThis() { return this.a; // this的值取决于函数的调用方式}whatsThis(); // 输出 "glo...原创 2019-01-28 16:44:18 · 443 阅读 · 1 评论 -
js判断空对象的几种方式
1.JSON.stringify方式用JSON.stringify将对象转换为json串,与'{}'做比较let dataObject = {};console.log(JSON.stringify(dataObject) == '{}'); // 返回true2.Object.keys用Object.keys获取对象中的key值,如果对象中有key值,将返回一个key值的...原创 2018-11-02 16:33:34 · 2321 阅读 · 0 评论 -
js正则表达式截取字符串开头、结尾、以及两字符串之间的内容
js正则表达式截取字符串1.正则表达式写法简介var expression = / pattern /flags;其中模式(pattern)部分可以是任何简单或复杂的正则表达式,每个正则表达式都带有一个或多个标签(flags)用以标明正则表达式的行为var strMatch = `-rw-r--r--. 1 root root 114769 Apr 26 15:3...原创 2018-05-23 14:04:58 · 56000 阅读 · 5 评论