首页 > 代码库 > js 面试知识点
js 面试知识点
基础 原型 原型链
作用域 闭包
异步 单线程
JS API DOM操作
AJAX
事件绑定
开发环境 版本管理
模块化
打包工具
运行环境 页面渲染
性能优化
面试题
1.JS中使用 typeof 能得到的哪些类型?
考点:JS变量类型
- JS中有哪些内置函数
- JS变量按照存储方式区分为哪些类型,并描述其特点
值类型 内存地址 不会因为赋值而相互干预
引用类型 指针 节省内存空间 可以无限制扩展属性
- 如何理解JSON
知识点 变量类型 变量计算
变量类型 值类型 VS 引用类型(对象,数组,函数)
typeof 运算符详解
typeof undefined //undefined typeof ‘abc‘ //string typeof 123 //number typeof true //boolean typeof {} //object typeof [] //object typeof null //object (空的指针,定义了一个位置) typeof console.log //function /*typeof只能区分值类型的详细类型,对引用类型无能为力,能区分函数*/
/*JS中的内置函数 -- 数据封装类对象*/ Object Array Boolean Number String Function Date RegExp Error
/*内置对象*/
Math
JSON
//如何理解JSON //一种数据格式,JSON只不过是一个JS对象而已 // 2个API JSON.stringify({a:10,b:20}) JSON.parse(‘{"a":10,"b":20}‘)
2.何时使用 == ,何时使用 === ?
考点:强制类型转换
/* === 中没有类型转换*/ if(obj.a == null){ /* 对象的属性是否存在
这里相当于 obj.a === null || obj.a === undefined ,简写形式 这是jquery 源码中推荐写法 */ }
除了这个之外,其他都用 ===
值类型 会发生类型转换计算的情况
- 字符串拼接
- ==运算符
- if语句
- 逻辑运算
/*字符串拼接*/ var a = 100 + 10 //110 var b = 100 + ‘10‘ //10010 /*==运算符*/ 100 == ‘100‘ //true 0 == ‘‘ //true null == undefined //true /*if语句*/ var a=ture if(a){ // ... } var b=100 if(b){ // ... } var c=‘‘ if(c){ // ... }
/*if()里会转成false的集中情况*/
/*0 NaN ‘‘ null undefined false*/ /*逻辑运算*/ console.log(10 && 0) //0 console.log(‘‘ || ‘abc‘) //abc console.log(!window.abc) //true //判断一个变量会被当成 true 还是 false var a=100 console.log(!!a)
3.window.onload 和 DOMContentLoaded 的区别?
考点:浏览器渲染过程
4.用 JS 创建10个 <a> 标签,点击的时候弹出对应的序号
考点:作用域
5.简述如何实现一个模块加载器,实现类似 require.js 的基本功能
考点:JS模块化
6.实现数组的随机排序
考点:JS基础算法
js 面试知识点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。