【笔记】关于var let const

TSLint:提示错误:'fd' is never reassigned. Use 'const' instead

let fd = new window . FormData ( data )

于是大致了解一下这几个定义:

1、const如果一个变量只有在声明时才被赋值一次,那么应该使用'const',const定义的变量不可以修改,而且必须初始化。

const const_params = 'const_params' ; //正确
// const const _params;//错误,必须初始化
console . log ( '函数外const定义const_params:' + const_params ); //有输出值
// const_params = 5;
// console.log('函数外修改const定义const_params:' + const_params);//无法输出

2、let:的使用,需要”javascript 严格模式”:'use strict';;

'use strict' ;

let let_params = 'let_params' ;
console . log ( let_params );

3、var:应用的比较普遍


-- 'use strict' ;

var var_params = 'var_params' ;
console . log ( var_params );


4.比较不同(摘自于网络https://blog.csdn.net/nfer_zhuang/article/details/48781671)

// 1声明后未赋值,表现相同

'use strict' ;

( function () {
var varTest ;
let letTest ;
console . log ( varTest ); //输出undefined
console . log ( letTest ); //输出undefined
}());


// 2使用未声明的变量,表现不同:

( function () {
console . log ( varTest ); //输出undefined(注意要注释掉下面一行才能运行)
console . log ( letTest ); //直接报错:ReferenceError: letTest is not defined

var varTest = 'test var OK.' ;
let letTest = 'test let OK.' ;
}());


// 3重复声明同一个变量时,表现不同:

'use strict' ;

( function () {
var varTest = 'test var OK.' ;
let letTest = 'test let OK.' ;

var varTest = 'varTest changed.' ;
let letTest = 'letTest changed.' ; //直接报错:SyntaxError: Identifier 'letTest' has already been declared

console . log ( varTest ); //输出varTest changed.(注意要注释掉上面letTest变量的重复声明才能运行)
console . log ( letTest );
}());

// 4变量作用范围,表现不同

'use strict' ;

( function () {
var varTest = 'test var OK.' ;
let letTest = 'test let OK.' ;

{
var varTest = 'varTest changed.' ;
let letTest = 'letTest changed.' ;
}

console . log ( varTest ); //输出"varTest changed.",内部"{}"中声明的varTest变量覆盖外部的letTest声明
console . log ( letTest ); //输出"test let OK.",内部"{}"中声明的letTest和外部的letTest不是同一个变量
}());

以供后期学习参考;

你可能感兴趣的:(前端)