javascript基础知识
文章平均质量分 58
基础知识
不点外卖
这个作者很懒,什么都没留下…
展开
-
JS小技巧
开发过程中,我们很多参数都会从url中获取,因此封装一个getUrlParams方法很重要。例如 a.length 返回时可能是0,大于0的数值、undefined。我们就可以把上述a.length的返回值转为布尔值了。判空方法想要的返回值是true 和 false。如果用其他方法的话,可能比较啰嗦。原创 2023-01-06 15:23:53 · 208 阅读 · 0 评论 -
JavaScript高级知识-ES5~6
定义方法:类声明式和类表达式// 第一种 class XXX {} // 第二种 var yyy = class XXX {}// ES5类的声明 function Student(name , age) {} // ES6类的声明 class Person {} } var p = new Person('张三' , 18);var p1 = new Person('张三ds' , 18);${this.原创 2022-11-10 15:10:50 · 511 阅读 · 0 评论 -
JavaScript高级知识-Object.defineProperty
Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。原创 2022-11-09 14:55:22 · 193 阅读 · 0 评论 -
JavaScript高级知识-浏览器的解析以及JS运行原理
事实上,浏览器在解析HTML的过程中,遇到script元素是不能继续构建DOM树的。而一些特殊的属性,会创建一个新的合成层(compositing layer),并且新的图层可以利用GPU来加速绘制。函数在执行过程中,会根据函数体创建一个函数执行上下文(Functional Execution Context,简称FEC),并且压缩到EC Stack中,作用域链是在进入执行上下文时就定义(根据函数声明的位置)好了,所以打印出来的message是全局的,而不是obj.message。原创 2022-11-08 17:33:05 · 947 阅读 · 0 评论 -
JavaScript高级知识-this的指向
因为箭头函数demo是没有this的,所以js引擎往上一层作用域找,找到普通函数test(存在this),而函数test的this指向obj对象,因此最终结果就是obj对象。因为箭头函数demo是没有this的,所以js引擎往上一层作用域找,找到箭头函数test(也不存在this),最终找到全局作用域,因此最终结果就是window对象。注意:new绑定和call、apply是不允许同时使用的。'指定this,forEach: '4. new绑定优先级高于bind。注意:obj的{}不是一个作用域。原创 2022-11-07 16:24:08 · 276 阅读 · 0 评论 -
手写 new 操作符(构造函数模式)
new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。原创 2022-06-08 10:24:32 · 631 阅读 · 0 评论 -
JSON字符串化需要注意的地方
基本类型值的字符串化规则为:null转为"null", undefined转换为"undefined",true转为"true"。数字的字符串话则遵循通用规则。JSON.stringify(…)在对象中遇到undefined、function和symbol时会自动将其忽略,在数组中则返回null(以保证单元位置不变)但是,当面对对象的时候,String() 或者 toString() 就不适用了。此时,我们大部分都会想到JSON的方法。可是这个方法有一点的缺陷。原创 2022-09-22 19:43:36 · 260 阅读 · 0 评论 -
JS的类型
但是 null类型比较特殊// true这是由于历史原因所导致,这里不做解释。不知道你是否尝试过 typeof function a() {} === “function”;// true难道function也是js的内置类型?其实并不是,它只是object的一个“子类型”。具体来说,函数是“可调用对象”,它有一个内部属性[[Call]],该属性使其可以被调用。另外,函数不仅是对象,而且还拥有属性。因为此函数声明了3个命名参数a, b, c,所以其length值为3。原创 2022-09-22 16:35:51 · 105 阅读 · 0 评论