目录vue-cli的index.html使用环境变量 vue-cli在index.html判断环境变量加载不同代码vue-cli的index.html使用环境变量 项目中使用了公司定义的统一头部文件,
顺晟科技
2021-06-16 10:57:57
232
变量用关键字var声明,例如:
var I;var numvar a,b;var name=' bingdianvar i=0,j=1,k=6;
var关键字声明的变量是性的,用delete运算符删除这些变量会导致错误。
x=1;删除x;console . log(x);//x未定义
javascript的变量类型是松散类型的,可以用来保存任何数据类型。您可以在修改变量值的同时修改变量类型:
var答案=10;x='答案是' 10y=10 '是答案' console . log(x);//答案是10 console . log(y);//10是answer var a=' 17 '-8;//9 var b=' 17 ' 8;//178 console . log(a);console . log(b);
用var关键字多次声明同一个变量是合法的。
使用未声明的变量将引发错误。
变量的作用域是程序中定义变量的区域。函数中声明的变量只在函数内部起作用(局部变量必须用var关键字声明)。
在函数内,局部变量的作用域优先级高于同名的全局变量,例如:
var i=99var foo=function(){ var I=10;console . log(I);} foo();//10使用本地变量console . log(I);//99使用全局变量
声明局部变量时,必须使用var关键字。当您使用var关键字声明变量时,变量将自动添加到最近的可用环境中。如果不写var,变量会暴露在全局上下文中,这可能与现有变量冲突。另外,如果不添加,很难知道变量的作用域是什么,变量很容易像局部作用域一样泄漏到Document或Window中,所以需要用var声明变量。示例:
var a=3;var foo=function(){ a=10;b=22console . log(a);console . log(b);} foo();//10 22 con sole . log(a);//10 console . log(b);//22
如果一个变量在没有声明的情况下被初始化,它将被自动添加到全局环境中。请看下面两个例子:
函数add(a,b){ var sum=a b;返回总和;}var rs=add(2,3);console . log(RS);//5 console . log(sum);//sum未定义函数add(a,b){ sum=a b;返回总和;}var rs=add(2,3);console . log(RS);//5 console . log(sum);//5 sum初始化赋值时没有使用var关键字。调用add()后,加到全局变量的sum继续存在。
javascript执行代码时,创建了一个上下文执行环境,全局环境是最外层的环境。每个函数在被调用时都创建自己的执行环境,当函数被执行时,当前的执行gg'f环境被破坏。每个执行环境都有一个与之关联的范围链。当执行代码时,javascript引擎通过搜索执行环境的范围链来解析标识符,如变量和函数名。解析过程从作用域链的前端开始,逐步向上查询与给定名称匹配的标识符。一旦找到标识符,搜索过程就停止。如果没有找到,它将继续沿着作用域链向上搜索,直到找到全局对象。如果未找到,则认为标识符未定义。标识符在作用域链中的位置越深,查找和访问它的时间就越长,所以要尽可能多地使用局部变量。
全局环境只能访问全局环境中定义的变量和函数,不能直接访问本地环境中的任何数据。
var a=8;var foo=function(){ console . log(a);//未定义var a=5;console . log(a);//5 } f();
因为局部变量是在整个函数foo()中定义的,全局变量隐藏在整个函数中。虽然局部变量是在整个函数体中定义的,但是在var语句之后并没有初始化。所以更好在函数顶部声明函数中用到的所有变量。
未赋值的变量值是未定义的,使用未定义的变量会导致错误。
var a;console . log(a);//undefinedconsole . log(b);//b未定义
Javascript有一个自动垃圾收集机制,JavaScript解释器可以检测程序何时不再使用某个对象,并释放其占用的内存。
09
2022-11
19
2022-10
19
2022-10
16
2022-10
15
2022-09
15
2022-09