1.null和undefined
undefined:表示一个对象没有被定义或者没有被初始化。
null:表示一个尚未存在的对象的占位符。
undefined类型是null派生出来的所以,它们相等
alert(undefined==null)//输出true
2.typeof
未声明的对像只能用typeof运算符判断,并且typeof返回值为字符串所以,在进行类型比较时应为
var vItem;
if(typeof vItem=="undefined")
而
if(typeof vItem==undefined)永远为false
对于null而言,alert(typeof null);//输出object 。这其实是JavaScript最初实现的一个错误,但因为ECMAScript的沿用,成为了现在的标准。所以需要将null类型理解为“对象的占位符”
3.变量声明
js是若类型语言,即使变量类型在初始化时已经被确认,仍然可以在之后改变
var vItem=1;
alert(typeof item); //输出number
vItem="1";
alert(typeof item) ;//输出string
js的变量声明可以为var iItem=1;也可以在隐式声明 iItem=1;但需要注意的是,隐式声明的变量总被创建为全局变量,即使在函数中也是一样
function test(){
iItem=1;
}
this.test();
alert(iItem);
4.JavaScript命名规范
js命名推荐匈牙利命名法 比如 function fnMethod(){}
下面是匈牙利命名法的前缀列表:
类型
前缀
示例
Array
a
aNameList
Boolean
b
bVisible
Float
f
fMoney
Function
fn
fnMethod
Int
i
iAge
Object
o
oType
Regexp(正则表达式)
re
rePattern
string
s
sName
可变类型
v
vObj
5.使用原型prototype实现js面对对象
原型,表示对象的初十状态,JavaScript中的每个对象都有一个prototype 属性,但是只有function类型的prototype属性可以使用脚本直接操作
Object的prototype属于内部属性,无法直接操作。prototype属性本身就是一个objece类型,一个函数的prototype上所定义的属性和方法都会在
其实例对象上存在。所以说prototype就是C#中的实例方法和实例属性
function fnStaticClass(){}//声明一个类
fnStaticClass.statMethod=function (){alert("static method")}; //创建一个静态方法
fnStaticClass.prototype.instanceMethod=function(){alert("instacne method")};//创建一个实例方法
fnStaticClass.statMethod();//直接调用静态方法
var instance = new fnStaticClass();//实例化 instance.instanceMethod();//在实力上调用实例方法
转载于:https://www.cnblogs.com/zhangchao1/archive/2011/06/09/2076677.html