前端随笔(二)关于Js的一点点碎片知识

关于==和===

其实呢很多人和我之前一样有一个疑惑,==和===的使用,大家有一点基础就知道,或者看了我之前的那个文章的就知道,==会隐式转换,要判断到底是否等于的时候岂不是都用===,那==拿来怎么用呢,这个问题困扰了笔者很久,借用我看过的一盘文章的话来说:“除了你要判断这种情况a是否等于null或者undefined,之前的那篇文章,作者也说了,null在隐式互相转化可以和undefined互相转化。

if(obj.a == null)
{
//这里相当于是obj.a===null||obj.a === undefined
//这个是jq源码写法
//除了这个以外其他都是用===判断是否相等
}

Js不考虑内置函数的情况下有那些函数呢?

Object,Array,Boolean,Number,String,Function,Date,RegExp,Error

es5构造函数怎么让别人能够一眼就看出来呢,构造函数最好是大写,方便别人阅读,区分是构造函数还是普通函数。

function Foo(name,age)(){
}

其实构造函数一开始是初始化了this={}
然后最后默认添加return this;
这是一种方式。
也可以是在实例化的时候,初始化this={},构造函数call(this),
这样也可以。(这些都是作者的猜测)

关于Object等函数

var a = {} 等于 var a = new Object()
var a = [] 等于 var a = new Array()
function Foo(){ } var Foo = new Function()
使用instanceof 判断一个函数是否是一个变量的构造函数

你可能感兴趣的:(前端随笔(二)关于Js的一点点碎片知识)