Day5
1-js 组成?
ecmascript 基本语法 变量
BOM 浏览对象模型 数据类型 Number string boolr
DOM 文档对象模型
2-js 中有哪些数据类型?
string number boolean null undefined array object function
3-typeof 和 instanceof 的区别
typeof:用于判断基本数据类型,返回值类型是字符串
instanceof:用于判断对象的具体类型,返回值类型是Boolean
4-怎么判断两个对象相等
// 用来过滤掉简单的类型比较,复杂的对象使用 deepEq 函数进行处理
function eq(a, b) {
// === 结果为 true 的区别出 +0 和 -0
if (a === b) return a !== 0 || 1 / a === 1 / b;
// typeof null 的结果为 object ,这里做判断,是为了让有 null 的情况尽早退出函数
if (a == null || b == null) return false;
// 判断 NaN
if (a !== a) return b !== b;
// 判断参数 a 类型,如果是基本类型,在这里可以直接返回 false
var type = typeof a;
if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;
// 更复杂的对象使用 deepEq 函数进行深度比较
return deepEq(a, b);
};
5-js 中函数有哪些定义方式?
命名函数:
function fn (){
console.log("命名函数");
}
fn();
匿名函数:
function(){
console.log("匿名函数")
})
();
6-js 中函数有哪些调用形式?
①以函数形式调用
function fun(){
alert("hello world");
}
fun();
②函数作为对象方法调用
var myObject = {
firstName:"John",
lastName: "Doe",
fullName: function () {
return this.firstName + " " + this.lastName;
}
}
myObject.fullName();
③使用构造函数调用函数
// 构造函数:
function myFunction(arg1, arg2) {
this.firstName = arg1;
this.lastName = arg2;
}
// This creates a new object
var x = new myFunction("John","Doe");
x.firstName;
④使用apply()和call()方法调用
call()方法
function myFunction(a, b) {
return a * b;
}
myFunction.call(myObject, 10, 2);
apply()
function myFunction(a, b) {
return a * b;
}
myArray = [10,2];
myFunction.apply(myObject, myArray);

浙公网安备 33010602011771号