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运算符与直接调用的结果等同;
时间: 2024-10-25 03:18:14

javascript函数的调用 常规调用和用new调用的相关文章

C#实现百度地图附近搜索&调用JavaScript函数

前一篇文章"C#调用百度地图API入门&解决BMap未定义问题"讲述了如何通过C#调用百度API显示地图,并且如何解决BMap未定义的问题.这篇文章主要更加详细的介绍百度地图的一些功能,包括附近搜索.城市搜索.路线规划.添加覆盖物等等. 希望文章对你有所帮助!如果文章中有不足之处,还请海涵~ 百度官方文档:http://developer.baidu.com/map/jsmobile.htm 官方DEMO例:http://developer.baidu.com/map/jsde

JavaScript函数的调用模式有哪些?

函数是JavaScript 世界里的第一公民,换句话来说,就是我们如果可以精通 JavaScript 函数的使用,那么对JavaScript 的运用可以更游刃有余了.熟悉 JavaScript 的人应该都知道,同样的函数,以不同的方式调用的话,受影响最大的应该是  this  .下面我们来说说 JavaScript 函数的各种调用模式,希望对大家 学习javascript有所帮助. 一.普通函数的调用模式 所谓普通函数的调用模式,也是JavaScript 函数的最简单的一种调用模式,直接就是函数

VC与JavaScript交互(三) ———— CWebPage类调用javascript函数(给js函数传参,并取得返回值)

①需要一个别人写好的类CWebPage,将其对于的两个文件WebPage.h和WebPage.cpp添加到工程中. ②添加WebBrowser控件,在视图/对话框类的头文件中#include "webbrowser2.h",增加成员变量m_webBrowser,调用Navigate()函数加载一个html页面. ③在对话框或者视图的实现文件中,加入#include "WebPage.h",在按钮的响应函数中就可以调用javascript函数了,具体代码如下: CWe

JavaScript函数的4种调用方法详解

在JavaScript中,函数是一等公民,函数在JavaScript中是一个数据类型,而非像C#或其他描述性语言那样仅仅作为一个模块来使用.函数有四种调用模式,分别是:函数调用形式.方法调用形式.构造器形式.以及apply形式.这里所有的调用模式中,最主要的区别在于关键字 this 的意义,下面分别介绍这个几种调用形式. 本文主要内容: 1.分析函数的四种调用形式2.弄清楚函数中this的意义3.明确构造函对象的过程4.学会使用上下文调用函数 一.函数调用形式 函数调用形式是最常见的形式,也是最

javascript函数自调用

1. 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. 2.  将函数用 “()”括起来, 后面再加一个“()” 3.  javascript函数的内置对象arguments对象,  它包含了函数调用的参数数组! 4.  函数调用方法, 函数是对象,对象的方法call() .apply()来调用函数! notice: 1.  js调用函数可以不含参数,不给形参传值也可以哦!   在调用函数时,您可以向其传递值,这些值被称为参数.    其实就是arguments对象为空! 2.  函

C#代码与JAVASCRIPT函数的相互调用

问:1.如何在JavaScript访问C#函数?2.如何在JavaScript访问C#变量?3.如何在C#中访问JavaScript的已有变量?4.如何在C#中访问JavaScript函数? 问题1答案如下:javaScript函数中执行C#代码中的函数:方法一:1.首先建立一个按钮,在后台将调用或处理的内容写入button_click中;        2.在前台写一个js函数,内容为document.getElementById("btn1").click();        3.

VC/MFC中通过CWebPage类调用javascript函数(给js函数传参,并取得返回值)

转自:http://www.cnblogs.com/javaexam2/archive/2012/07/14/2632959.html ①需要一个别人写好的类CWebPage,将其对于的两个文件WebPage.h和WebPage.cpp添加到工程中. CWebPage类头文件和实现文件下载地址: http://download.csdn.net/detail/masikkk/4427190 ②添加WebBrowser控件,在视图/对话框类的头文件中#include "webbrowser2.h&

iframe子页面调用父页面javascript函数的方法(支持chrome和IE的通用方法)

iframe子页面调用父页面javascript函数的方法 今天遇到一个iframe子页面调用父页面js函数的需求,解决起来很简单,但是在chrome浏览器遇到一点小问题.顺便写一下iframe的父页面调用子页面javascript函数的方法吧,备用! 1.iframe子页面调用 父页面js函数 子页面调用父页面函数只需要写上window.praent就可以了.比如调用a()函数,就写成: window.praent.a(); 但是我在chrome浏览器下却发现此方法无效了!查了半天才了解,在c

JavaScript函数之实际参数对象(arguments) / callee属性 / caller属性 / 递归调用 / 获取函数名称的方法

函数的作用域:调用对象 JavaScript中函数的主体是在局部作用域中执行的,该作用域不同于全局作用域.这个新的作用域是通过将调用对象添加到作用域链的头部而创建的(没怎么理解这句话,有理解的亲可以留言告诉我, 谢谢).因为调用对象是作用域链的一部分,所以在函数体内可以把这个对象属性作为变量来访问. 调用对象的属性包括:用var声明的局部变量,函数形参,还有一种特殊的属性arguments 函数的实际参数:实际参数对象 arguments对象,用来引用实际参数对象.函数的arguments对象并