zoukankan      html  css  js  c++  java
  • 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运算符与直接调用的结果等同;
  • 相关阅读:
    CCoolBar 的替代方案 CDockablePane。
    CTreeView 的教程
    散列表
    Add and Search Word
    Contains Duplicate II
    Word Search II
    Implement Trie (Prefix Tree)
    (转)多进程 & 多线程的区别与适用场景
    (转)进程控制:进程的创建、终止、阻塞、唤醒和切换
    (转)几个常用的操作系统进程调度算法
  • 原文地址:https://www.cnblogs.com/sxshijingjing/p/4832322.html
Copyright © 2011-2022 走看看