获取控件对象值,在调用的时候一个需要转成Jquery对象,一个不需要,操作方法如下:
1、首先在非函数内使用var或let声明的变量拥有全局的作用域,是全局变量。
2、在函数内使用var或let声明的变量是局部变量,只能在函数内部使用。
3、let声明的变量有块作用域的概念,而var声明的变量没有块作用域的概念,在块作用域外也可以使用。
4、let和var在重新声明变量时,有所不同。在块中使用var重新声明变量,在块外的变量也会被重新定义;在块中使用let重新声明变量,在块外的变量不会被重新定义。
5、在同一个作用域下,使用let重新声明一个已经使用var声明的变量是不允许的,但var是可以重复声明变量的。
你要了解一个词"Hoisting"
声明语句会被自动提升到所属作用域顶端.这是一种默认行为.
比如:
red = 100var red //这一句会被自动提升到作用域的顶端.
console.log(red)
// 由于默认提升的行为,以上代码与以下代码等同
var red
red = 100
console.log(red)
需要注意的是,默认仅提升声明,而不是初始化(赋值). 比如:
/** e.g.1 */console.log(x) //会报错,提示not defined
/** e.g.2 */
console.log(x) //不会报错,因为var自动提升到了当前作用域的顶部
var x = 456
// 相当于如下代码
var x //仅声明被提升
console.log(x)
x = 456 //初始化(赋值)不被提升. // 还是举例
/** e.g.3 */
console.log(x)
var x = 1
function f() {
console.log(x)
var x = 2
console.log(x)
}
f()
console.log(x)
//以上代码可以类比为:
var x
console.log(x)
x = 1
function f() {
var x
console.log(x)
x = 2
console.log(x)
}
f()
console.log(x)
//所以结果为undefined,undefined,2,1