We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
new Array(1,2,3,4,5).slice(1,5) => 2,3,4,5
// 反转数组 类似reverse var arr = new Array(1,2,3,4,5,6) [...arr].map(arr.pop,arr)
new Array(1,2,3,4,5).some(item => { return item > 4 }) // true
//由小到大 new Array(22,555,444,1111,478).sort((a, b) => { return a - b })
// splice与slice区别 array.slice(start,end) 1.可以从数组中提取指定元素 2.该方法不会改变元素数组,而是将截取的元素封装到一个新数组返回 3.类似于substring var arr = [3,4,5,6,7] arr.slice(1,-2) => 4,5 -2代指倒数第二个,从0算起 array.splice(start[, deleteCount[, item1[, item2[, ...]]]]) // 第一参数截取初始位置 // 第二参数截取元素个数 // 在删除位置参数的元素 1.可用于删除数组 2.影响原数组,返回删除的元素 var arr = [3,4,5,6] arr.splice(0,1,34,56) console.log(arr) //=> 34,56,4,5,6 arr.splice(2,0,55) console.log(arr) //=> 3,4,55,5,6
'cat'.charAt(1) //=>a
'cat'.charCodeAt(1) //=>97
'cat'.includes('t') //=> true
首个
最后
'catccc'.indexOf('c') //=> 0 'cataaa'.indexOf('b') //=>-1 'cataaa'.lastIndexOf('a') //=>5
repeat 返回指定重复次数的由元素组成的字符串对象
'a'.repeat(4) //=>'aaaa'
'AA'.toLowerCase() //=>'aa' 'aa'.toUpperCase() //=>'AA'
替换
'ccbb aa'.replace(/aa/,'bb') //=> 'ccbb bb'
null与undefinded不能转换
实行的是浅拷贝
const source1 = {a: 1, b: 2} const source2 = {b: 3, c: 2} Object.assign(source1, source2) //=> {a: 1, b: 3, c: 2} //特殊情况 Object.assign({a: 1}, undefined) === {a: 1} //=> true null也一致 Object.assign([1], [4]) //=>[4] //浅拷贝 const obj1 = {a: {b: 1}}; const obj2 = Object.assign({}, obj1); obj1.a.b = 2 obj2.a.b //=> 2
//创建一个可写的,可枚举的,可配置的属性p //第一参数原型对象,第二参数本身实例 const obj2 = Object.create({}, { 'p': { value: 2, // 属性值 writable: true, // 是否可以重写值 enumerable: true, //是否可枚举 configurable: true //是否可以修改以上几项配置 }, 'a': { value: 3, writable: true, enumerable: true, configurable: true } }); obj2 //=> {p: 2, a: 3}
// Object.defineProperty(obj, prop, descriptor) /** *参数obj表示的是需要定义属性的那个对象 *参数prop表示需要被定义或者修改的属性名 *参数descriptor就是我们定义的那个属性prop的描述 * * 要求就是你要给dreamapple添加一个fullName属性 * dreamapple的firstName或者lastName发生变化的时候,fullName也要随之变化;而且当我们设置了fullName的值的时候, * 那么相应的它的firstName和lastName也随之发生变化; 那么我们应该怎么做呢? **/ var dream = { firstName: 'dream', lastName: 'apple' } Object.defineProperty(dream,'fullName',{ enumerable: true, //是否可枚举 get () { return this.firstName +' '+ this.lastName }, set (fullName) { const name = fullName.trim().split(' ') this.firstName = name[0] this.lastName = name[1] } }) dream.firstName = 'lala' dream.lastName = 'haha' console.log(dream.fullName) // dream.fullName = 'apple aaaaaadd' // console.log(dream.firstName,dream.lastName)
[key, value] 数组
//类似for..in 不兼容 const obj = { foo: 'bar', baz: 42 } Object.entries(obj) //=>[ ["foo", "bar"], ["baz", 42] ]
Object.is(NaN,NaN) //=>true Object.is('1',1) //=>false
let arr = ["a", "b", "c"]; let obj = { foo: "bar", baz: 42 }; Object.keys(arr) // ['0', '1', '2'] Object.keys(obj) // ["foo","baz"]
let arr = ["a", "b", "c"]; let obj = { foo: "bar", baz: 42 }; Object.keys(arr) // ['a', 'b', 'c'] Object.keys(obj) // ["bar","42 "]
Number('10a') //=>NaN isNaN(undefined) //=> true isNaN(1) //=> false isNaN == isNaN //=> false
取整,第二个参数为进制(没写的话默认十进制)
parseInt(2.45678); //2 parseInt(10,8) // 8
取浮点数
parseFloat("010.01aa") //=> 10.01
保留小数位
圆周率数值
向下取整
向上取整
两个参数;次方
Math.pow(2,3) //8 2的3次方
平方根
Math.sqrt(9) //=> 3 Math.sqrt(-9) //=> NaN
取绝对值
取最大值
取最小值
四舍五入
取0-1之间的随机数
// 取0-10之间的随机数 Math.round(Math.random()*10)
The text was updated successfully, but these errors were encountered:
No branches or pull requests
javascript常用方法
数组常用方法
String常用方法
首个
/最后
被发现的给定值的索引值,如果没有找到则返回-1。repeat 返回指定重复次数的由元素组成的字符串对象
替换
null与undefinded不能转换
Object常用方法
实行的是浅拷贝
https://github.com/dreamapplehappy/hacking-with-javascript/blob/master/vanilla-js/object/define-property.md
[key, value] 数组
。Number常用方法
取整,第二个参数为进制(没写的话默认十进制)
取浮点数
保留小数位
Math常用方法
圆周率数值
向下取整
向上取整
两个参数;次方
平方根
取绝对值
取最大值
取最小值
四舍五入
取0-1之间的随机数
The text was updated successfully, but these errors were encountered: