day05
1-js 组成?
(1)ECMAScript(JavaScript语法 )
(2)DOM页面文档对象模型
(3)BOM 浏览器对象模型
2-js 中有哪些数据类型?
Undefined、Null、Boolean、Number、String、Object
3-typeof 和 instanceof 的区别
typeof 是用来区分 undefined, number, boolean, string, function, object 的
instanceof是用来判断 A 是否为 B 的实例,表达式为:A instanceof B,如果 A 是 B 的实例,则返回 true,否则返回 false。 在这里需要特别注意的是:instanceof 检测的是原型。
4-怎么判断两个对象相等
(1)
JSON.stringify(obj)==JSON.stringify(obj);//true
(2)
- 先判断俩者是不是对象
- 是对象后俩者长度是否一致
- 判断俩个对象的所有key值是否相等相同
- 判断俩个对象的相应的key对应的值是否相同
- 来一个递归判断里面的对象循环1-4步骤
function diff(obj1,obj2){
var o1 = obj1 instanceof Object;
var o2 = obj2 instanceof Object;
// 判断是不是对象
if (!o1 || !o2) {
return obj1 === obj2;
}
//Object.keys() 返回一个由对象的自身可枚举属性(key值)组成的数组,
//例如:数组返回下表:let arr = ["a", "b", "c"];console.log(Object.keys(arr))->0,1,2;
if (Object.keys(obj1).length !== Object.keys(obj2).length) {
return false;
}
for (var o in obj1) {
var t1 = obj1[o] instanceof Object;
var t2 = obj2[o] instanceof Object;
if (t1 && t2) {
return diff(obj1[o], obj2[o]);
} else if (obj1[o] !== obj2[o]) {
return false;
}
}
return true;
}
5-js 中函数有哪些定义方式?
函数表达式
格式为 let a= function(){}
函数声明
格式为 let function a(){}
匿名函数
格式为 function(){}
6-js 中函数有哪些调用形式?
(1)以函数形式调用
function fun(){
alert("hello world");
}
fun();
(2)函数以对象方法调用
var myObject = {
firstName:"John",
lastName: "Doe",
fullName: function () {
return this.firstName + " " + this.lastName;
}
}
myObject.fullName(); // 返回 "John Doe"
(3)使用构造函数调用函数
// 构造函数:
function myFunction(arg1, arg2) {
this.firstName = arg1;
this.lastName = arg2;
}
// This creates a new object
var x = new myFunction("John","Doe");
x.firstName; // 返回 "John"
(4)使用apply()和call()方法调用
apply()
function myFunction(a, b) {
return a * b;
}
myArray = [10,2];
myFunction.apply(myObject, myArray); // 返回 20
call()
function myFunction(a, b) {
return a * b;
}
myFunction.call(myObject, 10, 2); // 返回 20
浙公网安备 33010602011771号