js常用語法系列教程如下
- es5與es6常用語法教程(1)
- es5與es6常用語法教程(2)
- es5與es6常用語法教程(3)
- es5與es6常用語法教程(4)
- es5與es6常用語法教程(5)
- es5與es6常用語法教程(6)
- es5與es6常用語法教程(7)
本節(jié)教程主要講解以下幾個常用語法
- 獲取函數(shù)的名字
- 對象表達式
- 對象的拷貝
__proto__
獲取函數(shù)的名字
- 有時候我們有獲取函數(shù)名字的需求,這時我們可以使用下面的方式
function breakfast() {}
console.log(
breakfast.name // breakfast
)
- 匿名函數(shù)
let breakfast = function () {}
console.log(
breakfast .name // breakfast
)
對于匿名函數(shù),變量breakfast就成了函數(shù)名
- 非匿名函數(shù)
let breakfast = function supreBreakfast() {}
console.log(
breakfast .name // supreBreakfast,匿名函數(shù)的優(yōu)先級低
)
對象表達式
let dessert = '??', drink = '??'
let food = {
dessert: dessert,
drink: drink ,
}
console.log(food) // {dessert: "??", drink: "??"}
- 如果想在對象中添加和變量名一樣的屬性名,并且這個屬性的值就是這個變量表示的這個值,我們可以直接在這個對象中加上這個屬性,而不需要再去指定屬性的值了,這時我們可以去掉冒號右邊變量的名字。
let dessert = '??', drink = '??'
let food = {
dessert,
drink,
}
console.log(food) //{dessert: "??", drink: "??"}
- 也可以在對象中直接添加一個方法
let dessert = '??', drink = '??'
let food = {
dessert,
drink,
breakfast() {}
}
console.log(food) // {dessert: "??", drink: "??", breakfast: ?}
對象的拷貝(Object.assign)
let breakfast = {}
// 將{drink: '啤酒'} 對象拷貝到breakfast對象中
Object.assign(breakfast, {drink: '啤酒'})
console.log(breakfast) // {drink: "啤酒"}
- Object.assign()函數(shù)的第一個參數(shù)是拷貝到的目標對象
- 第二個參數(shù)是需要拷貝的對象
proto
let breakfast = {
getDrink() {
return '混泥土王'
}
}
let dinner = {
getDrink(){
return '混泥土張'
}
}
let sunday = {
__proto__: breakfast
}
console.log(sunday.getDrink()) // 混泥土王
console.log(Object.getPrototypeOf(sunday) === breakfast) // true
// 設(shè)置對象的prototype
sunday.__proto__ = dinner
console.log(sunday.getDrink()) // 混泥土張
console.log(Object.getPrototypeOf(sunday) === dinner) // true
福利時間
- 作者React Native開源項目OneM地址(按照企業(yè)開發(fā)標準搭建框架設(shè)計開發(fā)):https://github.com/guangqiang-liu/OneM (歡迎小伙伴們 star)
- 作者簡書主頁:包含50多篇RN開發(fā)相關(guān)的技術(shù)文章http://www.itdecent.cn/u/023338566ca5 (歡迎小伙伴們:多多關(guān)注,多多點贊)
- 作者React Native QQ技術(shù)交流群:620792950 歡迎小伙伴進群交流學習
- 友情提示:在開發(fā)中有遇到RN相關(guān)的技術(shù)問題,歡迎小伙伴加入交流群(620792950),在群里提問、互相交流學習。交流群也定期更新最新的RN學習資料給大家,謝謝支持!