06 2022 档案
摘要:深拷贝 深拷贝:拷贝后一样且不是同一个引用 利用JSON格式 限制条件:要拷贝的数据内部没有引用数据,时间,正则,undefined,原型链等特殊情况时 var re = {x1: null,x2: new Date(),x3: {name:'kale'}} var re_1 = JSON.pars
阅读全文
摘要:JSON文件 简介 本质来说JSON格式数据就是字符串,里面的内容是js里的对象 常用与传输数据到前端 var json_ = '{"name":"kela","say": ["hello"]}' var json_1 = '[1,3,45,6]' 除此之外,字符串还分有查修字符串(querystr
阅读全文
摘要:预编译 函数预编译 检查代码是否错误,符号,词法分析 隐式操作 (形实函运) 函数调用以后,在运行代码之前,会生成一个对象(Activation) 把所有的局部变量和形参添加为AO成员,值为undefined(隐式声明提升) 将实参赋值给形参(AO对象) 将局部函数的变量作为AO对象的成员名,函数体
阅读全文
摘要:作用域 每一个作用域在运行时,js引擎会先把作用域内部的关键字隐式提前扫描,并声明;对象内部的不会隐式提升 同名标识符提升问题 先提升变量后提升函数 var a = 30; function a() { console.log(100) } console.log(a); 变量变量同名(有些语言错误
阅读全文
摘要:闭包 闭包是什么? 优点和使用场景:技术难点用闭包解决 函数内部的变量 临时数据 比如for循环的i值,希望延时使用,可以使用闭包把临时数据保存到局部变脸域中 防止变脸污染 用闭包把业务变量放在局部作用域中 缺点以及解决方法 闭包使用不当会导致内存泄漏问题 内存泄漏:浏览器运行网页,就会执行js代码
阅读全文
摘要:对象的成员访问检测 istanceof:检测对象是不是某个对象的实例化 注意:在某个原型链上也算 isPrototypeOf():在调试的时候用 检测对象的的Prototype是否 function Parent() { // pass } function Child() { // pass }
阅读全文
摘要:原型链 原型链中没有找到返回undefined 同一个构造函数创造的的对象会有一块共用的内存 // 对象有__proto__,代表它的原型对象 // 函数有prototype属性,代表创建的对象的原型对象 // 任何函数包括自定义的函数,创建的__proto__ = Function.prototy
阅读全文
摘要:劫持 一般来说劫持分为三类: 黑客暴力解码(逆向工程),取用户的私密信息 js内置功能的重写 一般来说,内置功能都是写在原型链中不可更改的,若是取一个名字和内置功能相同,则相当于给对象添加一个对象或是方法 可以达到保留原来功能的基础上添加或修改,以更符合本身的需求 // 内置功能的劫持 var _l
阅读全文