1.对象是什么
对象是由多个键值对组成的无序的集合。对象中每个属性对应任意类型的值
2.面向对象是什么
使用对象中的属性和方法就是面向对象
3.JavaScript的本地对象有哪些 分别有什么特点
本地对象为array obj regexp等
特点是本地对象可以new实例化
4.JavaScript的内置对象有哪些 有什么特点
JavaScript常见的内置对象有
Object,Math,String,Array,Number,Function,Boolean,JSON 等
其中Object是所有对象的基类,采用了原型继承方式.
特点:内置对象不可以实例化
JavaScript的宿主对象有哪些
宿主为浏览器自带的document,window 等
5.对象-js中深拷贝和浅拷贝的区别
浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。
深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,
修改新对象不会改到原对象。
6. js深拷贝的方法有哪些:
递归拷贝
使用Object.create()方法
jquery 有提供一个$.extend也可以实现
函数库lodash,也有提供cloneDeep用来实现
7,介绍js有哪些内置对象?
Object 是 JavaScript 中所有对象的父对象
数据封装类对象:Object、Array、Boolean、Number 和 String
其他对象:Function、Arguments、Math、Date、RegEx、Error
8.Javascript创建对象的几种方式?**
第一种:对象字面量、Object构造函数
第二种:构造函数
第三种:纯构造函数
第四种:空构造函数+原型
第五种:混合构造函数+原型
第六种:动态原型
第七种:寄生构造函数
第八种:Object.create()——ES5 ie9+
以下是寄生构造函数模式:
——其实是工厂模式的变种,只不过是放在其他构造函数中创建对象
代码如下:
function SpecialArray(){
var values = [];
values.push.apply(values, arguments);
values.toPipedString = function(){
return this.join("|");
};
return values;
}
var colors = new SpecialArray("red", "blue", "green");
alert(colors.toPipedString()); //"red|blue|green"