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:应用的比较普遍
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不是同一个变量
}());
以供后期学习参考;