随笔分类 - js面试题
摘要:在js中只有两种作用域,全局作用域和函数作用域,在ES6之前,js是没有块级作用域。 JavaScript 代码的执行分为两个阶段。第一个阶段在当前词法环境中注册所有的变量和函数声明,简单说就是,解析,解析完成之后,第二个阶段的 JavaScript 执行就开始了! JS中创建函数有两种方式:函数声
阅读全文
摘要:js中检测数据类型的几种方式 1、typeof 一元运算符,用来检测数据类型。只可以检测number,string,boolean,object,function,undefined。 对于基本数据类型是没有问题的,但是遇到引用数据类型是不起作用的(无法细分对象) 1 2 3 4 5 6 7 8 9
阅读全文
摘要:JavaScript原型,原型链 ? 有什么特点? 每个对象都会在其内部初始化一个属性,就是prototype(原型),当我们访问一个对象的属性时, 如果这个对象内部不存在这个属性,那么他就会去prototype里找这个属性,这个prototype又会有自己的prototype, 于是就这样一直找下
阅读全文
摘要:一:什么是闭包? https://blog.csdn.net/qq_33505829/article/details/86080460 闭包就是能够读取其他函数内部变量的函数,说白了闭包就是个函数,只不过是处于其他函数内部而已。 由于在javascript中,只有函数内部的子函数才能读取局部变量,所
阅读全文
摘要:闭包的主要作用:延伸了变量的作用范围; 一般局部变量在函数运行完后就会销毁,但是闭包的存在,就使其他函数(要使用该闭包函数中变量的函数)都运行完才会销毁。
阅读全文
摘要:==:运算符称作相等,用来检测两个操作数是否相等,这里的相等定义的非常宽松,可以允许进行类型转换 :用来检测两个操作数是否严格相等1、对于string,number等基础类型,==和 是有区别的不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等, 如果类型不同,其结果就是不等同类型比
阅读全文
摘要:https://www.cnblogs.com/kzxiaotan/articles/11683633.html
阅读全文
摘要:浅拷贝的四种方式: 深拷贝: JS实现深拷贝 https://www.cnblogs.com/dobeco/p/11295316.html 一、赋值、浅拷贝与深拷贝的区别 二、深拷贝的方法 1.JSON转换 var targetObj = JSON.parse(JSON.stringify(copy
阅读全文
摘要:显式转换 通过手动进行类型转换,Javascript提供了以下转型函数: 转换为数值类型:Number(mix)、parseInt(string,radix)、parseFloat(string) 转换为字符串类型:toString(radix)、String(mix) 转换为布尔类型:Boolea
阅读全文
摘要:原始类型有哪几种?null 是对象吗? 在 JS 中,存在着 6 种原始值,分别是: boolean null undefined number string symbol 首先原始类型存储的都是值,是没有函数可以调用的,比如undefined.toString() 此时你肯定会有疑问,这不对呀,明
阅读全文
摘要:https://www.cnblogs.com/Red-ButterFly/p/9055175.html 重点
阅读全文
摘要:https://blog.csdn.net/u014328357/article/details/53317136 好多,自己看吧
阅读全文
摘要:「node.getAttribute('someAttribute')」获取的是「attribute」 「node.someAttribute」获取的是元素的「property」,二者并不相同,本文将进行详细对介绍。 在大多数情况下「property」和「attribute」是同步的,如场景1。 场
阅读全文
摘要:1. script 没有 defer 和 async 会停止(阻塞)dom 树构建,立即加载,并执行脚本 2. script 带 async 不会停止(阻塞)dom 树构建,立即异步加载,加载好后立即执行 3. script 带 defer 不会停止(阻塞)dom 树构建,立即异步加载。加载好后,如
阅读全文
摘要:JS延迟加载,也就是等页面加载完成之后再加载 JavaScript 文件。 JS延迟加载有助于提高页面加载速度。 一般有以下几种方式: 1)defer 属性 1 <script src="test1.js" defer="defer"></script> 2)async 属性 1 <script s
阅读全文
摘要:["1", "2", "3"].map(parseInt) 答案是多少? 让我们先看看最直接最粗暴的方式 没错,答案就是:[1, NaN, NaN],那为什么答案是[1, NaN, NaN]呢? 1.让我们先了解一下map函数的定义 JavaScript Array map() 方法 定义和用法 m
阅读全文
摘要:Null和undefined的区别? (1)null是一个表示”无”的对象,转我数值是为0,undefined是一个表示”无”的原始值,转为数值时为NaN。当声明的变量还未被初始化时,能量的默认值为undefined (2)Null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象 (3
阅读全文
摘要:说几条JavaScript的基本规范 1、不要在同一行声明多个变量 2、使用 或!==来比较 3、使用字面量的方式来创建对象、数组,替代new Array这种形式 4、不要使用全局函数 5、switch语句必须要带default分支 6、函数不应该有的时候有return,有的时候没有return 7
阅读全文
摘要:JS内置对象有哪些? JS内置对象分为数据封装类对象和其他对象 数据封装类对象:String,Boolean,Number,Array,和Object; 其他对象:Function,Arguments,Math,Date,RegExp,Error
阅读全文

浙公网安备 33010602011771号