成都企业建站公司在线咨询,做网站开发的公司销售,网络设计课程培训,如何做网站长尾关键词布局一、变量 ECMAscript变量是松散型变量#xff0c;所谓松散型变量#xff0c;就是变量名称可以保存任何类型的数据#xff0c;每个变量仅仅是一个用于保存值的占位符。 定义变量时要使用var操作符 如#xff1a; var message;
/*定义一个名为message的变量#xff0c;该变量… 一、变量 ECMAscript变量是松散型变量所谓松散型变量就是变量名称可以保存任何类型的数据每个变量仅仅是一个用于保存值的占位符。 定义变量时要使用var操作符 如 var message;
/*定义一个名为message的变量该变量可以用来保存任何值未初始化的变*量会保存一个特殊的值-undefined
*/ 二、局部变量 可以声明变量里同时初始化 function test(){var messagehello; //定义局部message变量并初始值为helloalert(message); //将message内容弹出}test();
/script 错误的写法 function test(){var messagehello; //定义局部message变量并初始值为hello}test();
alert(message); //错误 由以上两个例子可以看出如果在一个函数中使用var 定义一个变量那么该变量在函数退出后会被销毁 三、定义全局变量 function test(){messagehello; //全局message变量并初始值为hello}test();
alert(message); //hello 这里因为省略了var因而message就成了全局变量这样只要调用过一次test()函数这个变量就有了定义就可以在函数外部的任何地方被访问 省略var 定义变量只要调用一次定义该变量的函数,全局范围内都可访问该变量。这种定义变量的方法也被成为隐式声明 四、作用域和范围 SCRIPT typetext/javascript
//定义一个输出函数
function outPut(s){
document.writeln(s);
}
//全局变量
var i0;
//定义外部函数
function outer(){
//访问全局变量
outPut(i); // 0
//定义一个类部函数
function inner(){
//定义局部变量
var i 1;
// i1; 如果用隐式申明 那么就覆盖了全局变量i
outPut(i); //1
}
inner();
outPut(i); //0
}
outer();
/SCRIPT 结果0,1,0 script typetext/javascriptfunction demoFunction(s){ document.writeln(s)
} var i0; function test(){ demoFunction(i); function innerFunction(){ demoFunction(i); var i1; demoFunction(i);} innerFunction(); demoFunction(i);
}
test();
/script 结果0 undefined 1 0 JS函数体中声明的本地变量在整个函数中都有效因此在上面代码中var i 1 ;在inner函数中都有效实际上显式声明的变量i是在预编译时就已经编译到调用对象中了不同于隐式声明变量在解释时才被定义为全局变量只是在调用outPut(i)时还没有将它初始化变量此时的本地变量i是未赋值变量而不是未定义变量因此输出了undefined。上面的代码等效于下面代码 function inner(){
var i; //定义但不赋值
outPut(i); //undefiend
i1;
outPut(i); //1
} 转载于:https://www.cnblogs.com/liunanjava/p/4237677.html