只要是写过点JS代码,很简单一个var 就完事了。那对于JS编译器背后它又发生了什么呢?那就一步步通过代码来讲起。 代码如下:x = 1; alert(x); var y = function() { alert(x); var x = 2; alert(x); } y(); 上面的代码也会你答对了它会分别输出:1,undefined,2。对于我来说,第一反应它会输出:1,1,2。为什么第二个会输出undefined?在上面我明确定义了一个全局变量x,为何找不到? 那是因为:js编译器在执行这个y函数的时候,会...
asp作为主页面,外接一个js的,我想知道一下能否在js里面调用asp的变量值,如果能这些值是怎么传递过去的呢? 我是这样做的,不知道是不是正确的?在asp这里:<script type=”text/javascript” src=”lpindex.js?jsid=trim(request(‘id'))” ></script> 而在js那边:location.href='lmsg.asp?id=<%=trim(request(“jsid”))%>';这样做出来的结果就是,获取的asp变量根本用不上的!最好的方法是在asp里面设置一个script代码块,用...
例如: if(!myVar01)alert("发生错误"); // 该代码直接发生异常,因为变量myVar01没有申明 if("undefined" == typeof myVar01)alert("发生错误"); // 这样写才不至于发生异常 而: var myVar01; if(undefined == myVar01)alert("发生错误"); // 该代码会正确运行 if("undefined" == typeof myVar01)alert("发生错误"); // 该代码同样会正确运行 结论:我们采用下面的方式来保证万无一失 if("undefined" == typeof myVar01)alert("发...
标准规范 HTML5规范文档中指出:如果一个元素符合下面两条规则中的任一条,则window对象中必须要有与之对应的一个属性,属性值就是这个对象.如果一个元素拥有ID属性,那么ID属性的属性值就会成为window对象的属性名. 如果一个元素拥有name属性,那么name属性的属性值就会成为window对象的属性名.但这个元素的标签名必须是: a, applet, area, embed, form, frame, frameset, iframe, img, object,其中的一个. 让我们看一个例子.假定存在...
因为我在写这文章的时候,百度里找资料,找到了园友的一篇文章,写的很好,可是我写了又不想放弃,所以就在里面拿了很多东西过来!~~ [翻译]JavaScript Scoping and Hoisting 希望得到大家谅解。 一。案发现场 我们先看一段很简单的代码: 代码如下:var v=Hello World; alert(v); 这个没有疑问吧,弹出“Hello World”。OK,我们继续。 我们在看一段Code: 代码如下:var v=Hello World; (function(){ alert(v); })() 经过运行之...
数据类型: 1.数值型(整型int 浮点型floating) 2.字符串类型(string) 3.布尔型(只有两个值:ture fasle) 字符串字面量 1.转义系列: 在javascript中一些符号是辨别不出来的,只有转义之后正确显示出来。如: \' 单引号 \" 双引号 \n 换行符 \r 回车符 \\ 反斜杠 转义实例: 代码如下:<script type="text/javascript"> document.write("hello\nworld"); </script> 转义实例输出: 代码如下:hello world (hello和world之间换...
代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript" src="jquery-1.7.1.min.js"></script> <script type="text/javascript"> var sayHello=function()...
代码如下: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 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...
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...
一、变量的类型 Javascript和Java、C这些语言不同,它是一种无类型、弱检测的语言。它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量。例如: 代码如下:i=100;//Number类型 i="variable";//String类型 i={x:4};//Object类型 i=[1,2,3];//Array类型 JS的这种特性虽然让我们的编码更加灵活,但也带来了一个弊端,不利于Debug,编译器的弱检测让我们维护冗长的代码时相当...
先看一段简单的代码: 代码如下: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是返回的一个testF...
不知道,大家对语言中变量的“声明”与“定义”是怎么理解的, 我的理解如下: “声明”变量,只是仅仅声明,而“定义”变量,指声明了,并且赋值了。 例如: 代码如下:var name;//只是声明 var num = 11;//声明,并且赋值,即定义了 var password = "yangjiang";//声明,并且赋值,即定义了 下面是几点总结: 变量的作用域:全局的和局部的。(注意:如果尝试读取一个未声明的变量的值,javascript会生成一个错误) 第一点:在都...
一、变量 在javascript变量中可以存放两种类型的值:原始值和引用值。 原始值存储在栈上的简单字段,也就是值直接存储在变量所标示的位置内。 引用值存储在堆内的对象,栈内变量保存的是指向堆内对象的指针值。 在javascript中有5种基本类型:Undefined,Null,Boolean,Number,String。 引用类型其实就是对象,类似其他语言中类实例的概念。 代码如下:var b = true; // 存储在栈上 var num = 20; //存储在栈上 var b = new Boolen(t...
代码如下:/* 代码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(); //输...