标签:地址 强制类型转换 实现 运行环境 内置函数 win 基础 mat 数据封装
基础 原型 原型链
作用域 闭包
异步 单线程
JS API DOM操作
AJAX
事件绑定
开发环境 版本管理
模块化
打包工具
运行环境 页面渲染
性能优化
面试题
1.JS中使用 typeof 能得到的哪些类型?
考点:JS变量类型
值类型 内存地址 不会因为赋值而相互干预
引用类型 指针 节省内存空间 可以无限制扩展属性
知识点 变量类型 变量计算
变量类型 值类型 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 源码中推荐写法 */ }
除了这个之外,其他都用 ===
值类型 会发生类型转换计算的情况
/*字符串拼接*/ 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基础算法
标签:地址 强制类型转换 实现 运行环境 内置函数 win 基础 mat 数据封装
原文地址:http://www.cnblogs.com/xwnlh/p/7095687.html