1、JS基本数据类型
五种基本数据类型:
- Number
- String
- Boolean
- Undefined
- Null
三种引用数据类型:
- Object
- Array
- Fuction
2、JS的内置对象
- Global
属性:
Infinity:表示超出JS处理范围的数值
NaN:代表非数字
Undefined:未定义的值
方法:
encodeURL(urlString):将字符串作为URL进行编码,返回urlString的副本,该方法不会对 ASCII 字母和数字进行编码
encodeURIComponent(URIString):将字符串作为URI组件进行编码,返回值为URIstring的副本,该方法不会对 ASCII 字母和数字进行编码,但是可以将分隔符用十六进制转义序列替换
parseInt(str,radix):解析一个字符串,返回值是个整数
parseFloat(str):解析一个字符串,返回值是个浮点数
isFinite(number):检查数值是否是无穷大
isNaN(number):判断参数是否为非数字
Number(object):把对象转换成数字
String(object):把对象转换成字符串
- Math
方法:
Math.abs(x):取绝对值
Math.ceil(x):向上取整
Math.floor(x):向下取整
Math.round(x):四舍五入取整
Math.min(x,y):取两者中小的
Math.max(x,y):取两者中大的
Math.random():返回0~1中的随机数
- JSON
方法:
JSON.parse(str):将字符串反序列化成对象
JSON.stringfy(obj):将一个对象解析成JSON字符串
3、undefined和null的区别
- Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。
- Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象
- null转换成数字时为0,undefined转换成数字时为NaN
- 使用typeof判断类型时,undefined为'undefined',null为'object'
- null表示没有对象,即不应该有;undefined表示缺少值,即应有值还未定义
4、eval(str)
计算某个字符串,并执行其中的JavaScript代码,返回计算String得到的值
5、DOM操作
- 添加节点
parent.appendChild():在父节点最后一个子节点后追加新节点
parent.insertBefore():向父节点的某个特定节点前插入新节点
e.setAttributeNode():给元素添加属性节点
e.setAtrribute():给元素添加指定属性
- 删除节点
parent.removeChild():删除已有的子节点,返回值为删除节点
e.removeAttribute():删除具有指定属性名称的属性,无返回值
e.removeAttributeNode():移除指定属性,并返回该属性
- 替换节点
replaceChild():用于替换节点,接受两个参数,第一参数是要插入的节点,第二个是要替换的节点,返回被替换的节点
- 复制节点
cloneNode() :用于复制节点, 接受一个布尔值参数, true 表示深复制(复制节点及其所有子节点), false 表示浅复制(复制节点本身,不复制子节点)
- 创建节点
document.createElement() : 用于创建元素,接受一个参数,即要创建元素的标签名,返回创建的元素节点
- 查找节点
getElementsByTagName()
getElementsByName()
getElementById()
6、new操作符具体做了什么
- 创建空对象
- 设置原型链,将空对象的__proto__指向函数的原型prototype
- 改变执行环境,将this指针替换成对象
function Fun() {
}
var f = new Fun();
/////////
var obj = new Object();
obj._proto_ = Fun.prototype;
var result = Fun.call(obj)
if (typeof(result) == "object"){
f=result;
}
else{
f=obj;;
}