盒子:
盒子的概念;盒子的组成;盒子的分类
width,盒子的总宽度
margin塌陷、margin重叠,主要说兄弟的关系;
js闭包
https://blog.csdn.net/weixin_43558749/article/details/90905723
我们首先知道闭包有3个特性:
①函数嵌套函数
②函数内部可以引用函数外部的参数和变量
③参数和变量不会被垃圾回收机制回收
js作用域 全局和局部
js作用域环境中访问变量的权利是由内到外,内部作用域可以获
得当前作用域下的变量并且可以获得当前包含当前作用域的外
层作用域下的变量,反之则不能
数据类型:
typeof可以返回的类型
原始类型:Number、string、bool、undefine
复杂类型(引用):Object,Function
undefined和null的不同
判断变量类型
construct属性可以返回变量的构造器,
可以通过检查 constructor 属性来确定某个对象是否为数组(包含单词 “Array”):
instanceof 如果对象是对象类型的实例,返回true
第一种:
function isArray(myArray) {
return myArray.constructor === Array;
}
第二种:
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
"Bill".constructor // 返回 "function String() { [native code] }"
(3.14).constructor // 返回 "function Number() { [native code] }"
false.constructor // 返回 "function Boolean() { [native code] }"
[1,2,3,4].constructor // 返回 "function Array() { [native code] }"
{name:'Bill', age:62}.constructor // 返回" function Object() { [native code] }"
new Date().constructor // 返回 "function Date() { [native code] }"
function () {}.constructor // 返回 "function Function(){ [native code] }"
call和apply:
参考
解决的问题: 编写能够在不同对象上使用共同的方法。
1、将对象作为参数;
2、方法中的this指向发生改变,指向参数对象
3、apply和call的区别是除对象参数外的不同,call是分别接受参数,apply是可以接受数组形式的参数。
javascript的原型链