js-常用小知识

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;
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值