1、js对象获取方式
const obj = {
0:123,
'1':"xxx"
}
// obj['0'] === obj[0]
// js对象属性名只能是字符串 取值数字也会转成字符串 obj[0] => obj['0']
2、parseInt使用
parseInt是 JavaScript 中的一个全局函数,用于将字符串解析为十进制整数。其语法为 parseInt(string, radix),其中 radix 是可选参数,表示字符串的基数(进制)
const x = '10.4'
parseInt(x) // 10
const a = '100px'
parseInt(a) // 100
const c = 'a100f'
parseInt(c) // NaN
// 一般不仅用于取整,也可以用于截取单位数值
2、parseFloat与parseInt用法相似,但保留小数
const a = '100px'
parseFloat(a) // 100
const c = '100.001px'
parseInt(c) // 100.001
3、赋值语句返回值为等号右边的值
a = 1; // 整行返回值 = 1
if(b = 1){ console.log(111) }; // 111
4、或且运算符
1 || 2 // 1
// 或运算符返回值为第一个隐式转换值为true的值, 如果都为false则返回最后一个为false的值
1 && 2 && 3 && 0 && 4 // 0
// 且运算符返回值为第一个隐式转换值为false的值,如果都为true,则返回最后一个为true的值
5、创建空原型对象
const obj = Object.create(null) // create的入参值作为obj对象的隐式原型
const arr = Object.create(Array.prototype) // 创建数组的另类方式
6、对象覆盖
const obj1 = { a:1 }
const obj2 = { a:2 }
const obj3 = { a:3 }
Object.assign(obj1,obj2,obj3) // obj3覆盖obj2后的结果覆盖obj1 层层往前覆盖 最后得到更新后的obj1
7、获取/设置对象属性描述
const a = { name:"x" }
Object.getOwnPropertyDescriptor(o,'name') // 获取属性描述符
// 返回值
{
configurable: true // 描述符对象是否可重新配置
enumerable: true // 是否可遍历
value: "x" // 重新赋值
writable: true // 是否可重写
}
// 设置属性描述符
Object.defineProperty(o,"name",{
configurable: false , // 表示后续不可再设置属性描述符
enumerable: false, // 表示不可遍历
value: "y" , // 重新赋值
writable: false // 表示后续不可再修改值
})
// 设置属性描述符
Object.defineProperty(o,"name",{
get(){
return 1; // 获取对象该属性值时触发
},
set(val){ // 设置对象该属性值时触发
console.log(val) // 返回999
}
})
const k = o.name // 返回值为1
o.name = 999;

被折叠的 条评论
为什么被折叠?



