JavaScript 变量

出处我的公众号哦,喜欢请关注:

我们一起学习:JavaScript 变量

1、变量对大小写敏感

2、合理规范的命名

  • 有意义
  • 驼峰命名 userInfo
  • 匈牙利命名 eg:user_info

3、变量在 window 上

var num=996;
console.log(num) // 996;
console.log(window.num) // 996

4、不适用var声明的变量

和使用var的没有区别,会直接被作为是window的属性,成为全局变量。

5、连续赋值

var a = b = 1;

// 上面的意思是:
// var a=1;
// b =1;
// 所以如果在函数中使用上面句式 b 是全局变量。

6、重复声明变量

// 没有赋值
var num = 1;
var num;

console.log(num); // 输出:1

// 赋值
var num = 1;
var num = 3;

console.log(num); // 输出:3

7、常量

1)约定俗成——大写

2)设置属性只读。

var CONFIG={};
Object.defineProperty(CONFIG,'DB_ACCOUNT',{
    value: 'root',
    writable:false
})
console.log(CONFIG.DB_ACCOUNT) // root
CONFIG.DB_ACCOUNT='guest'
console.log(CONFIG.DB_ACCOUNT)  // root

3)如果是window全局常量


Object.defineProperty(window,'DB_ACCOUNT',{
    value: 'root',
    writable:false
})
console.log(DB_ACCOUNT) // root
DB_ACCOUNT='guest'
console.log(DB_ACCOUNT)  // root

4)第三点的可用性较差,可写成函数

// 函数
var fun=function(name, value){
    Object.defineProperty(window,name,{
        value:value,
        writable:false
    });
    return value;
}
console.log(fun("DB_ACCOUNT1",'root1')) // root1
console.log(fun("DB_ACCOUNT2",'root2')) // root2

window.DB_ACCOUNT1='root3';
console.log(window.DB_ACCOUNT1) //  root1

5)Object.seal 方法封闭一个对象,使对象不能被扩充

可以修改队长属性,到时不能删除或者增加其他属性。

6)Object.freeze 方法可以冻结一个对象。一个被冻结的对象再也不能被修改。不能增加删除属性,也不能修改属性的值。

const obj = {
  prop: 42
};

Object.freeze(obj);

obj.prop = 33;
// Throws an error in strict mode

console.log(obj.prop);
// expected output: 42

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值