typeof运算符
typeof:function、object、string、boolean、undefined、number。
typeof只能区分值类型的类型,引用类型只能区分出函数来,其余对象,数组类型全部为object。在javascript中函数的地位非常高。
变量计算
==运算符会试图进行类型转换
if语句会将后面的语句类型转换
逻辑运算&&、||:10&&0—>0,”||’abc’—>’abc’
如何判断一个变量会被当成true还是false
var a=100;
console.log(!!a);
javascript中的内置函数:
object、array、Boolean、number、string、function、date、regexp、error
javascript按照类型存储分为值类型和引用类型,值类型可以将数分块存在内存中,应用类型是好几个内存公用一个内存块,节省内存空间。
如何理解JSON:
JSON只是一个js对象而已,跟math一样,存在于JS的基本语法中。
写一个原型继承的例子
//封装一个DOM查询
function Elem(id){
this.elem=document.getElementById(id);
}
Elem.prototype.html=function(val){
var elem=this.elem;
if(val){
elem.innerHTML=val
return this
} else {
return elem.innerHTML
}
Elem.prototype.on=function(type,fn){
var elem=this.elem
elem.addEventListener(type,fn)
return this
}
var div1=new Elem('detail-page')
div1.html('<p>hello imooc</p>').on('click',function(){
alert('clicked')
}).html('<p>javascript</p>');
描述new一个对象的过程
function Foo(name,age){
this.name=name
this.age=age
this.class='class-1'
//return this //默认有这句
}
var f=new Foo('zhangsan',20)
创建一个新对象
this指向这个新对象
执行代码,即对this赋值
返回this
构造函数的首字母一定是大写、可以使用instanceof判断一个函数是否是一个变量的构造函数。