手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >学习YUI.Ext 第三天
学习YUI.Ext 第三天
摘要:对于以前很多混淆不清的知识,有必要再梳理一下:就从最基础的变量开始说起。1.。变量variablea.全局变量GlobalVariable和...

对于以前很多混淆不清的知识,有必要再梳理一下:就从最基础的变量开始说起。

1.。变量variable

a.全局变量GlobalVariable和局部变量PrivateVariable

加var和不加var是有区别的

--》如果不用关键字var,声明一个变量,那么这个是全局变量,任何子函数都可以访问,就算是跳出花括号的地方,亦可被访问;

--》如果使用关键字var,则从所在的“花括号{}”起,全体函数都可以访问该变量,如:

functionfoo(){

i=8//GlobalVariable

alert(i)

}

functionfoo2(){

vari=88//在此花括号下都可访问变量i

alert(i);

child()

functionchild(){alert(i)}

}

foo();foo2()

alert(i)//这里的i还是8

值得注意是function是编译期的对象,必须执行或实例化才能在内存中分配这一变量。

全局变量习惯以_开头;p.s全部变量最好慎用,你很知道这个变量在那里何时发生变化!

-------》参见js手册:

“尽管并不安全,但声明语句中忽略var关键字是合法的JScript语法。这时,JScript解释器给予变量全局范围的可见度。当在过程级中声明一个变量时,它不能用于全局范围;这种情况下,变量声明必须用var关键字。”

b.变量的数据类型thetypesofvariable

Jscript有三种主要数据类型、两种复合数据类型和两种特殊数据类型。

主要(基本)数据类型是:

字符串

数值

布尔

复合(引用)数据类型是:

对象

数组

特殊数据类型是:

Null

Undefined

下面简述一下JavaScript中的各种对象类型:

NativeObject:JavaScript语言提供的不依赖于执行宿主的对象,其中一些是内建对象,如:Global、Math;一些是在脚本运行环境中创建来使用的,如:Array、Boolean、Date、Function、Number、Object、RegExp、Error。

Build-inObject:JavaScript语言提供的不依赖于执行宿主的内建对象,如:Global、Math;内建对象都是NativeObject。

HostObject:JavaScript语言提供的任何依赖于宿主环境的对象,所有非NativeObject的对象都是宿主对象,如:IE中的window,WScript中的wscript实例,任何用户创建的类。

****如何检查对象类型?******

1.typeof()

typeof运算符把类型信息当作字符串返回。typeof返回值有六种可能:"number,""string,""boolean,""object,""function,"和"undefined."

2.valinstanceofArray

返回一个Boolean值,指出对象是否是特定类的一个实例。

例如用到检查数组或日期类型的时候(事实上,任何类型都允许,见例),必须使用instanceof+classname(不用引号),例:

functionfoo(){}

varf=newfoo();

alert(finstanceoffoo2)//false

3.constructor

constructor的用法感觉跟instance的用法一样,只不过不返回boolean值

x=newString("Hi");

if(x.constructor==String)

//进行处理(条件为真)。

*******vari={}是什么类型?****

答案:object类型等价于vari=newObject

Object对象是一切对象的载体,有点想父类吧

Object对象很简单,

它就只有两个property和两个method

这两个property是:

prototype

constructor

这两个function是:

toString()

valueOf()

那么varobj=newMyObject()怎么文本化呢?其实也很简单的,obj的文本化定义如下:

varobj=

{

Properties1:1,Properties2:'2',Properties3:[3],

Method1:function(){returnthis.Properties1+this.Properties3[0];},

Method2:function(){returnthis.Preperties2;}

};

类实例文本化定义的语法为,用一对"{}"表示类,也就说"{}"完全等价于"newObject()"。然后"{}"内按"key:value"组织属性和方法,key可以是任意[A-Za-z0-9_]的字符组合,甚至数字开头都是合法的@_@,value是任何的合法的文本化JavaScript数据,最后每个键值对用","来分隔就行了。

通常用于JSON交换数据。

*******undefined的两种含义*****

1.undefined关键字2.undefined属性

声明了变量,但没赋过值,是属于第一种的情况;

完全没有声明,就跑出一个变量参与运算,它的数据类型是第二种情况;

两个相同名字却不同含义,建议下一版本改名。

vardeclared;//声明变量。

if(declared==undefined)//改为uninitialized没初始化会更准确,jsislooselanguageindeed!

document.write("declaredhasnotbeengivenavalue.");

if(typeOf(notDeclared)=="undefined")

document.write("notDeclaredhasnotbeendefined.");

【学习YUI.Ext 第三天】相关文章:

实现placeholder效果的方案汇总

JavaScript TO HTML 转换

JavaScript中switch语句的用法详解

js兼容火狐显示上传图片预览效果的方法

jquery.validate使用时遇到的问题

学习javascript文件加载优化

jQuery计算文本框字数及限制文本框字数的方法

JQuery中层次选择器用法实例详解

在网页中控制wmplayer播放器

接收键盘指令的脚本

精品推荐
分类导航