建站极客
网络编程 JavaScript 正文
学习YUI.Ext 第三天
所属分类:
网络编程 / JavaScript
阅读数:
610
收藏 0
赞 0
分享
对于以前很多混淆不清的知识,有必要再梳理一下:就从最基础的变量开始说起。 1.。变量variable a.全局变量Global Variable 和 局部变量 Private Variable 加var和不加var是有区别的 --》如果不用关键字var,声明一个变量,那么这个是全局变量,任何子函数都可以访问,就算是跳出花括号的地方,亦可被访问; --》如果使用关键字var,则从所在的“花括号{}”起,全体函数都可以访问该变量,如: function foo(){ i=8 //Global Variable alert(i) } function foo2(){ var i=88 //在此花括号下都可访问变量i alert(i); child() function child(){alert(i)} } foo();foo2() alert(i) //这里的i还是8 值得注意是function是编译期的对象,必须执行或实例化才能在内存中分配这一变量。 全局变量习惯以_开头;p.s全部变量最好慎用,你很知道这个变量在那里何时发生变化! -------》参见 js手册: “尽管并不安全,但声明语句中忽略 var 关键字是合法的 JScript 语法。这时,JScript 解释器给予变量全局范围的可见度。当在过程级中声明一个变量时,它不能用于全局范围;这种情况下,变量声明必须用 var 关键字。” b.变量的数据类型 the types of variable Jscript 有三种主要数据类型、两种复合数据类型和两种特殊数据类型。 主要(基本)数据类型是: 字符串 数值 布尔 复合(引用)数据类型是: 对象 数组 特殊数据类型是: Null Undefined 下面简述一下JavaScript中的各种对象类型: Native Object: JavaScript语言提供的不依赖于执行宿主的对象,其中一些是内建对象,如:Global、Math;一些是在脚本运行环境中创建来使用的,如:Array、Boolean、Date、Function、Number、Object、RegExp、Error。 Build-in Object: JavaScript语言提供的不依赖于执行宿主的内建对象,如:Global、Math;内建对象都是Native Object。 Host Object:JavaScript语言提供的任何依赖于宿主环境的对象,所有非Native Object的对象都是宿主对象,如:IE中的window,WScript中的wscript实例,任何用户创建的类。 ****如何检查对象类型?****** 1.typeof() typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能: "number," "string," "boolean," "object," "function," 和 "undefined." 2. val instanceof Array 返回一个 Boolean 值,指出对象是否是特定类的一个实例。 例如用到检查 数组或日期类型的时候(事实上,任何类型都允许,见例),必须使用instance of + class name(不用引号),例: function foo(){} var f = new foo(); alert(f instanceof foo2) //false 3.constructor constructor 的用法感觉跟instance的用法一样,只不过不返回boolean值 x = new String("Hi"); if (x.constructor == String) // 进行处理(条件为真)。 *******var i={}是什么类型?**** 答案:object类型 等价于var i = new Object Object对象是一切对象的载体,有点想父类吧 Object 对象很简单, 它就只有两个property和两个method 这两个property是: prototype constructor 这两个function是: toString() valueOf() 那么var obj = new MyObject()怎么文本化呢?其实也很简单的,obj的文本化定义如下: var obj = { Properties1 : 1, Properties2 : '2', Properties3 : [3], Method1 : function(){ return this.Properties1 + this.Properties3[0];}, Method2 : function(){ return this.Preperties2; } }; 类实例文本化定义的语法为,用一对"{}"表示类,也就说"{}"完全等价于"new Object()"。然后"{}"内按"key:value"组织属性和方法,key可以是任意[A-Za-z0-9_]的字符组合,甚至数字开头都是合法的@_@,value是任何的合法的文本化JavaScript数据,最后每个键值对用","来分隔就行了。 通常用于JSON交换数据。 *******undefined 的两种含义***** 1.undefined关键字 2.undefined属性 声明了变量,但没赋过值,是属于第一种的情况; 完全没有声明,就跑出一个变量参与运算,它的数据类型是第二种情况; 两个相同名字却不同含义,建议下一版本改名。 var declared; //声明变量。 if (declared == undefined) //改为uninitialized没初始化 会更准确,js is loose language indeed! document.write("declared has not been given a value."); if (typeOf(notDeclared) == "undefined") document.write("notDeclared has not been defined.");
ES6中Array.find()和findIndex()函数的用法详解 ES6为Array增加了find(),findIndex函数。find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined,而findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。下面通过实例详解,需要的朋友参考下吧
评论 0
收藏 0
赞 0
分享
JS闭包的几种常见形式实例详解 本文通过实例代码给大家详细介绍了js闭包的几种常见形式,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下
评论 0
收藏 0
赞 0
分享
Javascript 严格模式use strict详解 严格模式:由ECMA-262规范定义的JavaScript标准,对javascrip的限制更强。这篇文章主要介绍了Javascript 严格模式use strict详解 ,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
引入JavaScript时alert弹出框显示中文乱码问题 今天在HTML中引入JavaScript文件运行时,alert弹出的提示框中文显示为乱码,怎么解决此问题呢?下面小编给大家带来了引入JavaScript时alert弹出框显示中文乱码问题的解决方法,一起看看吧
评论 0
收藏 0
赞 0
分享
Angularjs自定义指令实现分页插件(DEMO) 由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能,下面小编把实例demo分享到脚本之家平台,需要的朋友参考下
评论 0
收藏 0
赞 0
分享
查看更多