JS中定义变量的几种方法,你都知道吗
前段时间看了一道面试题,问JS有几种定义变量的方式,平时用的一般的就是var声明了,最多在用到一个let,当时就想的两种。之后看答案是三种,当时就蒙了,之后找了一些资料看了一下。才知道原来JS有三种声明变量的方式:var,let,const。这里整理记录一下。
1、var定义的变量可以修改,如果不初始化会输出undefined,不会报错,也是最常用的一种定义变量方式。
var定义变量在方法中修改,全局也对应修改
var a = 1;
var b;
console.log("默认值:"+b);
console.log('函数外var定义a:' + a);
//调用方法
change();
console.log('函数调用后var定义a为函数内部修改值:' + a);
function change(){
//在方法中修改变量
a = 4;
console.log('函数内var定义a:' + a);//可以输出a=4
}
输出:
2、const定义的变量不可以修改,而且必须初始化,一般用于定义常量,比如const PI=3.14;
定义const变量,使用
//定义const变量输出
const b = 2;
change();
console.log('const定义b:' + b);
function change(){
console.log("函数类使用b:"+b);
}
错误案例:
const定义变量,不能修改
//定义const变量输出
const b = 2;
b = 5;
console.log('const定义b:' + b);
修改const变量会报错
3、let是块级作用域,函数内部使用let定义后,对函数外部无影响。
//定义let类型变量
let c = 3;
console.log('函数外let定义c:' + c);
//调用方法
change();
//调用方法后输出
console.log('函数调用后let定义c不受函数内部定义影响:' + c);
function change(){
//方法中定义相同名称的let变量
let c = 6;
console.log('函数内let定义c:' + c);
}
输出结果
czh0903: 哇,每个文件都报错
青女染寒酥: 感觉有个逻辑有问题: 就是 int buttonId = group1.getCheckedRadioButtonId(); 应该放在public void onCheckedChanged(RadioGroup group, int checkedId)里面吧。 ??
菜鸡前端一枚: ...没有完整代码案例吗?非要解开说明好麻烦
m0_74287427: 请问有没有出现关于应用程序上下文相关的问题呀,我运行的时候显示有应用程序上下文相关的问题,不知道该怎么解决
m0_74287427: 这个和你下载的SQLAlchemy版本有关系,新版本(比如2.0.0)取消了这个参数好像。