这篇文章主要介绍了js函数的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
func = (l, m = 3, n = 4 ) => (l * m * n); func(2) //output: 24
注意,传入参数为undefined
或者不传入的时候会使用默认参数,但是传入null
还是会覆盖默认参数。
默认情况下,如果不向函数参数传值,那么JS 会将函数参数设置为undefined
。其它一些语言则会发出警告或错误。要执行参数分配,可以使用if
语句抛出未定义的错误,或者可以利用强制参数。
mandatory = ( ) => { throw new Error('Missing parameter!'); } foo = (bar = mandatory( )) => { // 这里如果不传入参数,就会执行manadatory函数报出错误 return bar; }
返回值是我们通常用来返回函数最终结果的关键字。只有一个语句的箭头函数,可以隐式返回结果(函数必须省略大括号{ }
,以便省略返回关键字)。
要返回多行语句(例如对象文本),需要使用( )
而不是{ }
来包裹函数体。这样可以确保代码以单个语句的形式进行求值。
function calcCircumference(diameter) { return Math.PI * diameter } // 简写为: calcCircumference = diameter => ( Math.PI * diameter; )
在某个场景下我们的函数中有判断语句,这个判断依据在整个项目运行期间一般不会变化,所以判断分支在整个项目运行期间只会运行某个特定分支,那么就可以考虑惰性载入函数
function foo(){ if(a !== b){ console.log('aaa') }else{ console.log('bbb') } } // 优化后 function foo(){ if(a != b){ foo = function(){ console.log('aaa') } }else{ foo = function(){ console.log('bbb') } } return foo(); }
那么第一次运行之后就会覆写这个方法,下一次再运行的时候就不会执行判断了。当然现在只有一个判断,如果判断很多,分支比较复杂,那么节约的资源还是可观的。
跟上面的惰性载入函数同理,可以在函数体里覆写当前函数,那么可以创建一个一次性的函数,重新赋值之前的代码相当于只运行了一次,适用于运行一些只需要执行一次的初始化代码
var sca = function() { console.log('msg') sca = function() { console.log('foo') } } sca() // msg sca() // foo sca() // foo
感谢你能够认真阅读完这篇文章,希望小编分享的“js函数的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。