• javascript函数的调用 常规调用和用new调用


    javascript函数的返回值

    • 函数在没有明确返回值的情况下,全部都返回undefined
    • 当函数有明确的返回值时:
      • 如果函数返回值为常规意义上的值类型(Number、boolean、String)时, 通过new运算符将会返回一个该函数的实例对象;
      • 如果函数返回一个引用类型(Object、Array、Function)时,则通过new运算符与直接调用函数产生的结果等同;

    函数的返回值类型是值类型(Number、boolean、String):

    1 function person(){
    2    var name = 'tom';
    3    return 'jack';
    4 }
    5 
    6 var p = new person();    //person {}  函数的返回值是值类型,则通过new运算符返回的将是一个该函数的一个实例对象;
    7 
    8 person();            //'jack'   直接调用,返回return的值

    同理将声明变量的方式由var改成this,如下:

    1 function person(){
    2   this.name = 'tom';
    3   return 'jack';
    4 }
    5 
    6 var p = new person();         //p  person{name:'jack'}  同理
    7 person();                     //"jack"                    

    返回值得类型是引用类型(Object、Array、Function):

     1 function person(){
     2   this.name = 'tom';
     3   return {name:'jack'};
     4 }
     5 
     6 var p = new person();   //p Object{name:'jack'};
     7 p.name;             //'jack'
     8 person();            //Object{name:'jack'}
     9 
    10 //由此可见,当函数的返回值类型是引用类型时,通过new运算符与直接调用的结果等同;
  • 相关阅读:
    力拓题目 5-8-575,657,707,771
    力拓题目1-4-7,217,344,557
    解码,编码,文件的基本操作
    集合类型内置方法和拷贝浅拷贝深拷贝
    列表元祖字典内置方法
    数字类型内置方法
    字符串类型内置方法
    hdu2262 高斯消元
    hdu1757 构造矩阵
    poj1222 高斯消元
  • 原文地址:https://www.cnblogs.com/sxshijingjing/p/4832322.html
Copyright © 2020-2023  润新知