最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JavaScript函数的定义、调用以及该注意的问题

来源:懂视网 责编:小采 时间:2020-11-27 20:23:03
文档

JavaScript函数的定义、调用以及该注意的问题

JavaScript函数的定义、调用以及该注意的问题:这篇文章主要介绍了JavaScript 函数的定义-调用、注意事项,需要的朋友可以参考下函数定义函数语句定义function(a,b){ return a+b; }表达式定义var add = function(a,b){return a+b};//函数表达式可以包含名称,这在递归时很有用 var f = fun
推荐度:
导读JavaScript函数的定义、调用以及该注意的问题:这篇文章主要介绍了JavaScript 函数的定义-调用、注意事项,需要的朋友可以参考下函数定义函数语句定义function(a,b){ return a+b; }表达式定义var add = function(a,b){return a+b};//函数表达式可以包含名称,这在递归时很有用 var f = fun

这篇文章主要介绍了JavaScript 函数的定义-调用、注意事项,需要的朋友可以参考下

函数定义

函数语句定义

表达式定义

//函数表达式可以包含名称,这在递归时很有用 var f = function fact(x){ if(x<=1) {return 1; }else { return x*faxt(x-1); } }

以表达式方式定义的函数,函数的名称是可选的。如果函数定义表达式包含名称,函数的局部作用域将会包含一个绑定到函数对象的名称,实际上,函数的名称将成为函数内部的一个局部变量

函数命名规范

1.like_this()第一个字符为小写,当包含多个单词时候,单词以下划线分割

2.likeThis()第一个字符为小写,当包含多个单词时候,除第一个单词以外的单词首字母使用大学字母

3.内部函数或私有函数,通常以一条下划线为前缀

注:函数声明语句‘被提前到外部脚本或外部函数作用于顶部,所以可以被在它定义之前出现的代码所调用

以表达式方式定义函数前必须把它赋值给一个变量。所以表达式方式定义的函数在定义之前是无法调用的

函数返回值

  • return语句返回函数的值给调用者。

  • return语句没有,则它返回undefined

  • 嵌套函数

  • 嵌套函数可以访问他们的函数的参数和变量

  • 但是嵌套函数不能出现在循环、条件判断,或者try/cache/finally/with语句中

  • 函数调用

  • 作为函数

  • 作为方法

  • 作为构造函数

  • 通过他们的call()和apply()方法间接调用

  • 作为函数调用

    add(1,2)

     根据ECMAScript3和非严格的ECMAScript5对函数调用的规定,调用上下文(this的值)是全局对象。然而在严格模式下,调用上下文则是undefined。

    //定义一个函数且调用一个函数来确定当前脚本运行是否为严格模式
    var strict = (function(){return this;}());

    作为方法调用

    方法调用和函数调用的一个重大区别。----调用上下文

    o.add() add的调用上下文为o,即:this
    o.add() 等同于o['add']()
    方法链:当方法并不需要返回值时候,最好直接返回this
    this为一个关键字,不是变量,也不是属性名。JavaScript语法不允许给this赋值
    和变量不同,关键字this没有作用于的限制,嵌套的函数不会从调用它的函数中继承this,如果想访问外部函数的this,var self= this;保存在变量中
    如果嵌套函数作为函数调用,其this的值指向调用它的对象。如果作为函数调用,this不是全局对象(非严格模式),就是undefined(严格模式)

    构造函数调用

    构造函数调用和普通函数调用以及方法调用在实参处理。调用上下文和返回值等方面都有不同。

    凡是没有形参的构造函数调用都可以省略圆括号。

    构造函数调用创建一个新的空对象,这个对象继承自构造函数的prototype属性,这个函数试图初始化这个新创建的对象,病将这个对象做为上下文,因此构造函数可以使用this关键字来引用这个新创建的对象。

    new o.m() 调用的上下文并不是o.
    构造函数并不使用return。如果构造函数显示的使用return语句返回一个对象,那么调用表达式的值就是这个对象。如果构造函数但并没有返回值,或者返回一个原始值,那么就会忽略返回值,同时使用新对象作为返回结果。

    间接调用

    call()
    appy()

    文档

    JavaScript函数的定义、调用以及该注意的问题

    JavaScript函数的定义、调用以及该注意的问题:这篇文章主要介绍了JavaScript 函数的定义-调用、注意事项,需要的朋友可以参考下函数定义函数语句定义function(a,b){ return a+b; }表达式定义var add = function(a,b){return a+b};//函数表达式可以包含名称,这在递归时很有用 var f = fun
    推荐度:
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top