亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【九月打卡】第21天 從函數到函數式編程之路

標簽:
JavaScript

课程名称:破解JavaScript高级玩法
课程章节:第6章 从函数到函数式编程之路
主讲老师:Cloud

课程内容:

今天学习的内容包括:
6-2 name, length,caller等重要却少被关注的属性-——底层属性使用场景等介绍。

课程收获:

重要却少被关注的属性

Function.name-匿名函数
  • name值为空字符串
  • name值为 推断函数名
Function.name-new Function
  • name 值为anoymous
Function.name-属性简写
  • name值为属性名
Function.name-被bind之后
  • name 值为"bound "+函数名
Function.name-getter和setter
  • name值为get[函数名],set[函数名]
Function.name-Symbol
  • 属性值本身有函数名,name值为函数名本身
  • 属性简写,name值为[Symbol名]
  • 推导函数名,name值为[Symbol名]
Function.name-作用
  • 递归
  • 调试和跟踪
Function.length-定义
  • length是函数对象的一个属性值,指该函数有多少个必须要换入的参数,即形参的个数
与arguments.length区别
  • arguments.length是实际参数长度
  • Function.length是形参的长度
参数中有默认值情况
  • 全部有默认值,Function.length为0
  • 非全部包含默认值,length等于第一个具有默认值之前的参数个数
bind之后的length
  • length =函数的length - bind 的参数个数
  • 最小值为0
Function.length用途
  • 柯里化
Function.caller
  • 该特性为非标准,尽量不要在生产环境使用
  • 定义∶返回调用指定函数的函数
  • 全局作用域内被调用,返回null
  • 函数内部作用域调用,指向调用它的那个函数
Function.caller-严格模式
  • caller,callee,arguments属性都不可用
Function.caller-用途
  • 调用栈信息收集
  • 调用环境检查
arguments.callee
  • 包含正在执行的函数
  • 严格模式禁止使用
起源
  • 匿名函数递归问题
注意点
  • 递归调用以后会获取到不同的this值

今天 学习了 name, length,caller属性的作用和使用场景,知识点好多,没想到一个小小的属性值还有这么多的起源和特性,还有这么多使用场景,底层让我觉得挺难掌握。对自己说一句,加油😀~

坚持打卡,坚持学习!明天见💪~

https://img1.sycdn.imooc.com//63305ff50001e73325261359.jpg

https://img1.sycdn.imooc.com//633062990001080525161357.jpg

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消