日期: 2022-09-21 03:42:06 浏览数:4

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
益阳做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式

console.log(a);
独孤尚良
独孤尚良
yut***hanlin@qq.com
参考地址
3年前 (2019-04-03)
杨大帅
204***1624@qq.com
10
-----------------------------------------------------------------
同名声明赋值的变量:逐条进行-后者覆盖前者。(同级别覆盖)
var a = 1;
var a = 2;
console.log(a); // 输出结果:2
同名声明赋值的-函数和变量:逐条进行-后者覆盖前者。(同级别覆盖)
var a = 1;
var a = function () {
}
console.log(a); //输出结果: a 函数
-----------------------------------------------------------------
注:var f = function () {} 和 function f () {} 的区别(有var就有内存)
var f = function () {console.log("有var")} // 声明函数
function f () {} // 未声明函数
console.log(f); // 输出结果: 有var的f函数
-----------------------------------------------------------------
同名声明的变量:赋值的级别高。(同名声明未赋值)
var a = 1; // 赋值
var a; // 未赋值
console.log(a); // 输出结果: 1
-----------------------------------------------------------------
声明和未声明的同名变量:后者是重新赋值。(同名未声明赋值)
var a = 1; // 声明赋值
a =2 ; // 未声明变量
console.log(a); // 输出结果: 2
var f = function () {} // 声明赋值
f = function () {console.log("赋值")} // 未声明变量
console.log(f); // 输出结果:function () {console.log("赋值")}
杨大帅
杨大帅
204***1624@qq.com
5个月前 (02-22)
益阳做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)
上有句话是觉得欠妥当的 —— “JavaScript 允许重复声明变量,后声明的覆盖之前的”。
JavaScript 允许变量被重复声明,在声明变量时 JavaScript 会自行判断这个变量是否已经被声明了,如果已经被声明(即已经存在),那么重复声明(即除了变量的非首次声明)会被跳过,不再执行声明的操作。
JavaScript 变量的值是可以被重复赋值的,最后的赋值是这个变量最后的结果。
这个笔记所说的覆盖,其实是赋值的覆盖。如果说后声明的会覆盖已声明的,那么后声明的应该是 undefined 而不是第一次声明时候的赋值,也就是说如果是声明覆盖的话,相当于没有 var a=1 那么一个只有声明没有赋值的变量,它的值就是 undefined。
我们如何验证这个覆盖是声明的覆盖还是赋值的覆盖呢?看下面的代码:
我们再输出a的值,验证下是 undefined 还是 1 就知道了。
独孤尚良
yut***hanlin@qq.com
参考地址
杨大帅
204***1624@qq.com
-----------------------------------------------------------------
同名声明赋值的变量:逐条进行-后者覆盖前者。(同级别覆盖)
同名声明赋值的-函数和变量:逐条进行-后者覆盖前者。(同级别覆盖)
var a = 1; var a = function () { }console.log(a); //输出结果: a 函数