常用检查变量类型的方法有两种,下面是解说: 检查变量类型方法一:typeof 格式:typeof 变量 用法:if( typeof 变量 == "类型标识") { ... } 下面是一些常用数据类型对应的typeof值: {an:"object"} : object ["an","array"] : object function() {} : function "a string" : string 55 : number true ...
但是从全局看来,这样会导致出现一些让我们难以掌控的情况的出现:变量同名、多个函数共用一个全局变量后的值的变换……等等。所以,有时候,对于一些简单的全局变量,我们可以通过另一种方式来处理——用自执行函数+闭包的方法来解: 比如:我们要在网页加载时给出一个提示,在网页关闭时给出另一个提示 下面的代码,实现了以上功能 代码如下: var msg1 = "欢迎光临!"; // 定义一个全局变量 var msg2 = "再见!" //定了另一个全局...
当变量A赋值给变量B时,会将栈中的值复制一份到为新变量分配的空间中。 如何理解? 代码如下: var x = y = 1; y = 2; alert(x); x的值为多少? 代码如下: var obj = {}; var sub = {}; sub[id] = 3; obj[sub] = sub; sub[id] = 4; alert(obj[sub][id]); obj['sub']['id']的值又为多少?他们真的符合你的预期吗? 我们分别运行2段代码,发现第1段程序中x的值没有改变,而第2段程序中的obj['sub']['id']的值却改变了。同样是一个...
_jQuery = window.jQuery; _$ = window.$; 这两个变量是jQuery唯一使用的两个全局变量。在jQuery.noConflict()函数中,会把这两个变量恢复回去。 对于浏览器检测,jQuery使用的是检查UserAgent,而没有使用特性检测。 rwebkit = /(webkit)[ \/]([\w.]+)/, ropera = /(opear)(?:.*version)?[ \/](\w+)/, rmsie = /(msie) ([\w.]+)/, rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, 初始化函数init jQuery对JS对象的处理比较绕,而最终...
代码如下:/* 1, 变量类型: JavaScript 是弱类型, 变量可存储任意类型, 并且运行期间类型可变; -> 变量可进行类型转换; */ /* 2, 变量声明: */ var i; var index; var i, index; var i = 0, index = 2; /* 变量声明, 无初始值时, 值为 undefined; 并且 var 声明的变量, 不能使用 delete 操作符删除; 重复声明为产生覆盖, 不会造成错误; 遗漏声明, 则会把变量隐式声明此变量, 并做为全局变量; (下节介绍) */ /* 3, 变量作用域: 以...
代码如下: /* 代码1 */ var scope = "global "; function checkScope() { var scope = "local "; function childCheck() { var scope = "childLocal "; document.write(scope); } function childUndefined() { document.write(scope); var scope; } function childOverride() { scope = "childOverride "; document.write(scope); } document.write(scope); //输出"local" childCheck(); //输出"childLocal" childUndefined(); //输...
一、变量 在javascript变量中可以存放两种类型的值:原始值和引用值。 原始值存储在栈上的简单字段,也就是值直接存储在变量所标示的位置内。 引用值存储在堆内的对象,栈内变量保存的是指向堆内对象的指针值。 在javascript中有5种基本类型:Undefined,Null,Boolean,Number,String。 引用类型其实就是对象,类似其他语言中类实例的概念。 代码如下: var b = true; // 存储在栈上 var num = 20; //存储在栈上 var b = new Boolen(...
不知道,大家对语言中变量的“声明”与“定义”是怎么理解的, 我的理解如下: “声明”变量,只是仅仅声明,而“定义”变量,指声明了,并且赋值了。 例如: 代码如下: var name;//只是声明 var num = 11;//声明,并且赋值,即定义了 var password = "yangjiang";//声明,并且赋值,即定义了 下面是几点总结: 变量的作用域:全局的和局部的。(注意:如果尝试读取一个未声明的变量的值,javascript会生成一个错误) 第一点:在都...
先看一段简单的代码: 代码如下: var testFun=function (name,age){ var job=Flash Develop; return new testFun.init(name,age,job); } testFun.init=function(name,age,job){ return name:+name+,age:+age+,job:+job+; } alert(testFun(vincent,30)); //[object Object] 代码很简单,变量testFun为一个匿名函数,匿名函数返回的一个testFun.init对象(也是一个匿名函数)。但对于一些新手有时会误解为:testFun是返回的一个test...
一、变量的类型 Javascript和Java、C这些语言不同,它是一种无类型、弱检测的语言。它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量。例如: 代码如下: i=100;//Number类型 i="variable";//String类型 i={x:4};//Object类型 i=[1,2,3];//Array类型 JS的这种特性虽然让我们的编码更加灵活,但也带来了一个弊端,不利于Debug,编译器的弱检测让我们维护冗长的代码时相...
JavaScript编程的时候总避免不了声明函数和变量,以成功构建我们的系统,但是解释器是如何并且在什么地方去查找这些函数和变量呢?我们引用这些对象的时候究竟发生了什么? 原始发布:Dmitry A. Soshnikov 发布时间:2009-06-27 俄文地址:http://dmitrysoshnikov.com/ecmascript/ru-chapter-2-variable-object/ 英文翻译:Dmitry A. Soshnikov 发布时间:2010-03-15 英文地址:http://dmitrysoshnikov.com/ecmascript/chapter-2-v...
如下 代码如下:var a = 3; 实际有两个步骤: 1 初始化a为undefined 2 a赋值3 因此会出现一些“匪夷所思”的现象,即JS中变量可以先使用后声明。这在Java中是不允许的。 代码如下:System.out.println(a); int a = 1; 编译通不过。但JS可以,如下 代码如下:alert(a); var a; 虽然是undefined,但不会报错。说明a的确声明了,且为undefined。 如果只是“alert(a)”,没有“var a”的话JS引擎会报错的。 代码如下:alert(a); FF...
代码如下: var a; // 声明一个变量,标识符为a function a() { // 声明一个函数,标示符也为a } alert(typeof a); 显示的是“function”,即function的优先级高于var。 有人觉得这是代码顺序执行的原因,即a被后执行的funcion覆盖了。好,将它们调换下。 代码如下: function a() { } var a; alert(typeof a); 结果仍然显示的是“function”而非“undefined”。即函数声明优先于变量声明。 我们把代码稍作修改,声明a时同时赋值。...
代码如下: 无标题文档 var sayHello=function(){ alert("Hello,World!"); } $(function(){ sayHello(); $('option[value=0]').attr('selected','selected'); $('select').change(sayHello); }) one two three 以上代码的功能实现了对一个函数的多处调用。值得注意的是,当函数作为其他函数的参数时和独立调用时,写法是有区别的,前者不用附加(),而后者必须加()。JavaScript教程/参考手册 JavaScri...
数据类型: 1.数值型(整型int 浮点型floating) 2.字符串类型(string) 3.布尔型(只有两个值:ture fasle) 字符串字面量 1.转义系列: 在javascript中一些符号是辨别不出来的,只有转义之后正确显示出来。如: \' 单引号 \" 双引号 \n 换行符 \r 回车符 \\ 反斜杠 转义实例: 代码如下: 输出: 代码如下: hello world (hello和world之间换行了) 2.字符串拼接 字符串拼接运算符号是加号(+),两个字符串拼接,javascript会将...