js 面试知识点
2021-07-09 03:04
标签:地址 强制类型转换 实现 运行环境 内置函数 win 基础 mat 数据封装 基础 原型 原型链 作用域 闭包 异步 单线程 JS API DOM操作 AJAX 事件绑定 开发环境 版本管理 模块化 打包工具 运行环境 页面渲染 性能优化 面试题 1.JS中使用 typeof 能得到的哪些类型? 考点:JS变量类型 值类型 内存地址 不会因为赋值而相互干预 引用类型 指针 节省内存空间 可以无限制扩展属性 知识点 变量类型 变量计算 变量类型 值类型 VS 引用类型(对象,数组,函数) typeof 运算符详解 2.何时使用 == ,何时使用 === ? 考点:强制类型转换 除了这个之外,其他都用 === 值类型 会发生类型转换计算的情况 3.window.onload 和 DOMContentLoaded 的区别? 考点:浏览器渲染过程 4.用 JS 创建10个 标签,点击的时候弹出对应的序号 考点:作用域 5.简述如何实现一个模块加载器,实现类似 require.js 的基本功能 考点:JS模块化 6.实现数组的随机排序 考点:JS基础算法 js 面试知识点 标签:地址 强制类型转换 实现 运行环境 内置函数 win 基础 mat 数据封装 原文地址:http://www.cnblogs.com/xwnlh/p/7095687.html
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}‘)
/* === 中没有类型转换*/
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)