中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

淺析JavaScript 箭頭函數 generator Date JSON
來源:易賢網 閱讀:1252 次 日期:2016-06-25 11:57:51
溫馨提示:易賢網小編為您整理了“淺析JavaScript 箭頭函數 generator Date JSON”,方便廣大網友查閱!

下面小編就為大家帶來一篇淺析JavaScript 箭頭函數 generator Date JSON。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。

ES6 標準新增了一種新的函數: Arrow Function(箭頭函數)。

x => x *x

上面的箭頭相當于:

  function (x){ 

      return x*x;

  }

箭頭函數相當于匿名函數,并且簡化了函數定義。一種像上面的,只包含一個表達式,連{ ... }和return都省略掉了。還有一種可以包含多條語句,這時候就不能省略{ ... }和return:

x =>{ 

  if(x > 0){ 

    return x * x;

  }else{ 

    return -x *x;

  }

}

如果參數不是一個,就需要用括號()括起來:

// 兩個參數

  (x,y) => x*x + y *y

// 無參數;

  () =>3.14

// 可變參數

  (x,y,...rest) =>{ 

    var i, sum = x +y;

    for(i=0;i<rest.length;i++){ 

      sum += rest[i];

    }

  return sum;

}

this

現在,箭頭函數完全修復了this的指向,this總是指向詞法作用域,也就是外層調用者obj:

var obj = { 

    birth:1990,

    getAge:function(){ 

    var b = this.birth; // 1990

    var fn = () => new Date().getFullYear() - this.birth; // this指向obj 對象。

    return fn();

    }

}

obj.getAge(); // 25

如果使用了箭頭函數,以前的那種hack 寫法;

var that = this;

就不再需要了。

由于this 在箭頭函數中已經按照是否作用域綁定了,所以,用call() 或者apply() 調用箭頭函數時,無法對this 進行綁定,即傳入的第一個參數被忽略。

var obj = { 

    birth:1990,

    getAge:function(year){ 

      var b = this.burth; // 1990

      var fn = (y) =>y-this.birth; // this.birth 仍是1990

      return fn.call({birth:2000},year);

  }

};

obj.getAge(2015); // 25

generator

generator(生成器)是ES6標準引入的新型數據類型。一個generator看上去像一個函數,但可以返回多次。

function* foo(x){ 

    yield x +1;

    yieldx + 2;

    return x +3;

}

generator 和函數不同的是,generator由function* 定義(注意多出的*號),并且,除了return 語句,還可以用yield 返回多次。

函數只能返回一次,所以碧璽返回一個Array. 但是,如果換成generator,就可以一次返回一個數,不斷返回多次。

function* fib(max){ 

    var t,

    a = 0,

    b=1,

    n=1;

    while (n < max){ 

      yield a;

      t = a +b;

      a = b;

      b = t;

      n++;

    }

    return a; 

  }

直接調用試試:

fib(5); // fib {[[GeneratorStatus]]: "suspended", [[GeneratorReceiver]]: Window}

直接調用一個generator和調用函數不一樣,fib(5)僅僅是創建了一個generator對象,還沒有去執行它。

調用generator對象有兩個方法,一是不斷地調用generator對象的next()方法:

var f = fib(5);

f.next(); // {value: 0, done: false}

f.next(); // {value: 1, done: false}

f.next(); // {value: 1, done: false}

f.next(); // {value: 2, done: false}

f.next(); // {value: 3, done: true}

Date

在JavaScript 中,Date 對象用來表示日期和時間的。

要獲取系統當前時間,用:

var now = new Date();

now; //// Wed Jun 24 2015 19:49:22 GMT+0800 (CST)

now.getFullYear(); //2015,年份

now.getMonth(); // 5,月份,注意月份范圍為0~11,5表示六月

now.getDate();// 24 ,表示24 號

now.getHours(); // 3,表示星期三

now.getMinutes(); // 19 ,24小時制

now.getSeconds(); // 22,秒

now.getMilliseconds(); //875 毫秒

now.getTime(); // 1435146562875, 以number形式表示的時間戳

如果要創建一個執行日期和時間的Date對象,可以用:

var d = new Date(2015,5,19,20,15,30,123);

d;// Fri Jun 19 2015 20:15:30 GMT+0800 (CST)

JSON

JSON是JavaScript Object Notation的縮寫,它是一種數據交換格式。

在JSON中,一共就這么幾種數據類型:

1,number: 和JavaScript的 number 完全一致;

2,boolean: 就是JavaScript的 true或 false;

3,String: 就是JavaScript的String ;

4,null: 就是JavaScript的null;

5,array: 就是JavaScript 的Array 表示方式——[];

6,object: 就是JavaScript 的{...} 表示方式。

SON還定死了字符集必須是UTF-8,表示多語言就沒有問題了。為了統一解析,JSON的字符串規定必須用雙引號"",Object的鍵也必須用雙引號""。

序列化

var guagua = {

name: '小明',

age: 14,

gender: true,

height: 1.65,

grade: null,

'middle-school': '\"W3C\" Middle School',

 skills: ['JavaScript', 'Java', 'Python', 'Lisp']

};

 JSON.stringify(xiaoming); // '{"name":"小明","age":14,"gender":true,"height":1.65,"grade":null,"

middle-school":"\"W3C\" Middle School","skills":  ["JavaScript","Java","Python","Lisp"]}'

結果:

  {

"name": "小明",

"age": 14,

"gender": true,

"height": 1.65,

"grade": null,

"middle-school": "\"W3C\" Middle School",

"skills": [

  "JavaScript",

  "Java",

  "Python",

  "Lisp"

  ]

  }

第二個參數用于控制如何篩選對象的鍵值,如果我們只想輸出指定的屬性,可以傳入Array:

JSON.stringify(xiaoming, ['name', 'skills'], ' ');

結果:

{

  "name": "guagua",

  "skills": [

  "JavaScript",

  "Java",

  "Python",

  "Lisp"

]

  }

還可以傳入一個函數,這樣對象的每個鍵值對都會被函數先處理:

function convert(key, value) {

if (typeof value === 'string') {

  return value.toUpperCase();

}

  return value;

}

JSON.stringify(guagua, convert, ' ');

上面的代碼把所有屬性值都變成大寫:

{

  "name": "guagua",

  "age": 14,

  "gender": true,

  "height": 1.65,

  "grade": null,

  "middle-school": "\"W3C\" MIDDLE SCHOOL",

  "skills": [

  "JAVASCRIPT",

  "JAVA",

  "PYTHON",

  "LISP"

]

  }

如果我們還想要精確控制如何序列化小明,可以給xiaoming定義一個toJSON()的方法,直接返回JSON應該序列化的數據:

反序列化

拿到一個JSON格式的字符串,我們直接用JSON.parse() 把它變成一個JavaScript 對象:

JSON.parse('[1,2,3,true]'); //[1,2,3,true]

JSON.parse('{"name":"瓜瓜","age":14}'); // Object{name:'瓜瓜',age:14}

JSON.parse('true'); // true

JSON.parse('123.45'):// 123.45

JSON.parse()還可以接收一個函數,用來轉換解析出的屬性:

JSON.parse('{"name":"guagua","age":14}',function(key,value){ 

//把number * 2

if(key ==='name'){ 

return value + '同學'

}

return value;

}) ; // Object{name: '瓜瓜同學',age: 14}

以上這篇淺析JavaScript 箭頭函數 generator Date JSON就是小編分享給大家的全部內容了,希望能給大家一個參考

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
99国产精品久久久久久久| 国产日韩欧美高清| 欧美在线综合视频| 欧美日本精品| 在线视频免费在线观看一区二区| 国产精品二区在线观看| 欧美亚洲日本国产| 韩国三级电影久久久久久| 久久久久久久久岛国免费| 亚洲成人在线免费| 国产精品成人在线观看| 久久久久久久综合狠狠综合| 亚洲精品自在久久| 国产精品一卡二卡| 欧美成人福利视频| 亚洲欧美另类综合偷拍| 亚洲国产mv| 国产精品久久久一区二区| 久久综合九色| 亚洲图片欧美午夜| 亚洲国产成人av好男人在线观看| 欧美特黄一级大片| 久久一二三国产| 亚洲欧美制服另类日韩| 亚洲高清免费| 国产免费一区二区三区香蕉精| 噜噜噜噜噜久久久久久91| 亚洲综合激情| 在线观看欧美精品| 国产精品美女主播| 欧美精品久久99| 久久精品中文字幕免费mv| 亚洲一区二区三区激情| 亚洲精品视频免费观看| 国产永久精品大片wwwapp| 欧美日韩在线综合| 国产精品捆绑调教| 在线观看成人一级片| 可以免费看不卡的av网站| 国产精品一区视频| 亚洲在线成人| 国产精品免费观看在线| 一区二区三区四区五区精品| 欧美日韩在线播放三区| 国产视频精品免费播放| 美日韩在线观看| 国产精品户外野外| 免费日韩成人| 99国内精品| 亚洲国产精品一区制服丝袜| 国产日韩一级二级三级| 国产精品卡一卡二卡三| 国产精品www色诱视频| 欧美精品国产一区二区| 麻豆国产va免费精品高清在线| 久久精品国产久精国产一老狼| 午夜久久黄色| 欧美亚洲综合在线| 欧美一区二区三区四区夜夜大片| 亚洲欧美国产另类| 亚洲欧美国产制服动漫| 午夜精品av| 午夜伦理片一区| 欧美亚洲视频在线观看| 性欧美video另类hd性玩具| 亚洲一区一卡| 亚洲综合欧美| 午夜亚洲影视| 欧美一级片一区| 久久精品免费电影| 久久艳片www.17c.com| 久久久噜噜噜久久中文字免| 久久久综合网站| 老**午夜毛片一区二区三区| 美国十次了思思久久精品导航| 免费短视频成人日韩| 男女激情久久| 欧美人在线观看| 国产精品精品视频| 国产日韩精品在线播放| 国产主播精品| 亚洲激情第一区| aa级大片欧美三级| 亚洲欧美一区二区三区在线| 久久精品国产999大香线蕉| 久久综合久久美利坚合众国| 欧美成人精品在线观看| 免费成人性网站| 欧美高清视频一区二区| 国产精品第三页| 国产精品久久久久久久久果冻传媒| 欧美日韩国产a| 欧美小视频在线| 国产精品国产三级国产专播品爱网| 欧美粗暴jizz性欧美20| 国产精品国产三级国产专播品爱网| 欧美激情精品久久久久久变态| 欧美人与禽猛交乱配视频| 一本到高清视频免费精品| 亚洲免费视频在线观看| 久久久久成人网| 欧美精品一区二区三区久久久竹菊| 欧美日韩国产区一| 国产精品亚洲综合一区在线观看 | 欧美日产国产成人免费图片| 国产精品久久久久久久免费软件| 国产亚洲精品aa| 亚洲精品1区2区| 亚洲欧美制服中文字幕| 老司机精品导航| 欧美午夜在线| ●精品国产综合乱码久久久久| 夜色激情一区二区| 久久精品免费| 欧美视频在线播放| 在线成人av| 亚洲欧美www| 欧美搞黄网站| 国产日韩欧美成人| 日韩午夜激情av| 久久久久久久精| 国产精品久久久久aaaa樱花 | 在线精品高清中文字幕| 亚洲私拍自拍| 免费观看成人| 国产伦精品一区二区三| 亚洲精品老司机| 久久久7777| 国产精品久久久久永久免费观看| 在线成人激情黄色| 亚洲欧美日韩在线高清直播| 欧美精品v日韩精品v国产精品 | 亚洲高清网站| 亚洲在线免费| 国产一区二区三区四区在线观看 | 国产欧美精品va在线观看| 亚洲精品视频在线播放| 欧美一级久久久| 国产精品免费视频xxxx| 亚洲卡通欧美制服中文| 鲁大师成人一区二区三区| 亚洲国产日韩欧美| 裸体一区二区| 国产亚洲第一区| 亚洲一区二区三区精品在线观看| 牛牛国产精品| 激情婷婷久久| 欧美一区二区三区在线观看| 欧美午夜在线视频| 亚洲精品国产欧美| 久久久久久久综合| 国产一区二区精品在线观看| 亚洲天堂免费观看| 欧美日韩第一区日日骚| 亚洲国产专区| 蘑菇福利视频一区播放| 一区二区三区无毛| 久久精品av麻豆的观看方式| 国产精品一区二区久久国产| 亚洲午夜黄色| 国产精品电影在线观看| 中文精品视频一区二区在线观看| 欧美高清在线视频| 亚洲精品美女| 欧美久久久久久久久久| 亚洲精品视频一区| 欧美久久电影| aa级大片欧美| 国产精品vvv| 亚洲一级二级在线| 国产精品99免费看| 亚洲视频中文字幕| 国产精品久久久久久久久婷婷| 9色精品在线| 国产精品成人免费视频| 中日韩视频在线观看| 国产精品电影网站| 午夜精品一区二区三区在线播放| 国产精品美女久久久久久2018 | 国产精品你懂得| 亚洲欧美日韩国产中文在线| 国产精品青草综合久久久久99| 亚洲伊人伊色伊影伊综合网| 国产精品美女www爽爽爽视频| 亚洲综合另类| 国产一级久久| 久热这里只精品99re8久| 亚洲国产精品悠悠久久琪琪| 欧美精品乱人伦久久久久久| 中日韩在线视频| 国产区二精品视| 老司机精品视频网站| 亚洲精品视频免费在线观看| 国产精品国产三级国产普通话三级| 午夜精品久久久久久久99黑人| 国产一区二三区| 欧美精品v日韩精品v国产精品 | 亚洲精品乱码久久久久| 欧美视频精品在线| 先锋资源久久|