js中直接调用函数和new函数的区别
如果函数返回值为常规意义上的值类型(Number、String、Boolean)时,new函数将会返回一个该函数的实例对象,而如果函数返回一个引用类型(Object、Array、Function),则new函数与直接调用函数产生的结果等同。
举例说明:
//返回值类型
function test(){
this.name="我是test";
return "test";
}
var t1 = test();//直接调用函数
var t2 = new test();//new函数
alert(typeof t1);//string
alert(t1.name);//undefined
alert(typeof t2);//object
alert(t2.name);//我是test
可见直接调用返回的是“test”(即函数的返回值),而new test()产生的是一个对象,它为该函数的实例对象,并且具有name属性。
//返回一个引用类型
function test(){
var obj = new Object();
obj.name = "我是test";
return obj;
}
var t1 = test();//直接调用
alert(typeof t1);//true
alert(t1.name);//我是test
var t2 = new test();//使用new
alert(typeof t2);//true
alert(t2.name);//我是test
如果函数返回一个引用类型(Object、Array、Function),则new函数与直接调用函数产生的结果等同。
参考文章:
js中new函数和直接调用的区别
js中直接调用函数和new函数的区别的更多相关文章
- js中escape对应的C#解码函数 UrlDecode
js中escape对应的C#解码函数 System.Web.HttpUtility.UrlDecode(s),使用过程中有以下几点需要注意 js中escape对应的C#解码函数 System.We ...
- JS中怎么调用<%%>的值
JS中怎么调用<%%>的值 示例代码一: <% String usercode = request.getParameter("usercode");//用req ...
- 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂
浅谈JS中的!=.== .!==.===的用法和区别 var num = 1; var str = '1'; var test = 1; test == num //tr ...
- js中的text(),html() ,val()的区别
js中的text(),html() ,val()的区别 text(),html() ,val()三个方法用于html元素的存值和取值,但是他们各有特点,text()用于html元素文本内容的存取,ht ...
- js中定时器调用函数时为什么会有引号
之前在学习的时候并没有发现的细节,关于js中,定时器的问题 这里我们写两个延时器 setTimeout(func, 0); setTimeout("func()", 0);定时器中 ...
- js中bind、call、apply函数的用法
最近一直在用 js 写游戏服务器,我也接触 js 时间不长,大学的时候用 js 做过一个 H3C 的 web的项目,然后在腾讯实习的时候用 js 写过一些奇怪的程序,自己也用 js 写过几个的网站.但 ...
- js中bind、call、apply函数的用法 (转载)
最近看了一篇不错的有关js的文章,转载过来收藏先!!! 最近一直在用 js 写游戏服务器,我也接触 js 时间不长,大学的时候用 js 做过一个 H3C 的 web 的项目,然后在腾讯实习的时候用 j ...
- js中各个排序算法和sort函数的比较
js中要实现数据排序,其实只需要用sort函数就能很好的满足了,但是我今天想知道他和其他排序算法的区别,比如耗时呀等.测了一组数据如下: // ---------- 一些排序算法 Sort = {} ...
- JS中直接调用后台静态方法
这两天在维护一个很久之前的老项目,需要在jsp中增加显示一些新的模块,需要连表查询数据库返回数据 最开始想到的是用ajax,但是由于项目十几年前的老项目(jsp页面都是最原始的拼接组成,没有单独的js ...
随机推荐
- FastDFS安装、配置、部署(一)-安装和部署 (转)
FastDFS是一个开源的,高性能的的分布式文件系统,他主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡,FastDFS非常适用于基于文件服务的站点,例如图片分享和视频分享网站 Fast ...
- OpenStack Neutron配置虚拟机访问外网
配置完成后的网络拓扑如下: 当前环境: X86服务器1台 Ubuntu 16.04 DevStack搭建OpenStack 网络拓扑: 外部网络:192.168.98.0/24 内部网络:10.0.0 ...
- Robot Framework自动化测试一(第一个脚本)
创建测试项目 选择菜单栏file----->new Project Name 输入项目名称,Type 选择Di ...
- orcale 之 初识数据库一
数据库 数据库顾名思义数据的仓库,只不过这个仓库是在计算机的存储设备之中.一般来说,这些数据面向一个组织,部门或者整个企业,这些数据是按照一定的模型进行存放的数据集合,比如对于一个学生的管理系统来说, ...
- unity2018的坑点
发布后有的电脑无法运行exe程序(反正我的电脑不行) 删除发布出来的一个叫UnityCrashHandler64.exe即可运行
- JavaScript中变量的LHS引述和RHS引用
JavaScript中变量的LHS引述和RHS引用 www.MyException.Cn 网友分享于:2015-02-04 浏览:0次 JavaScript中变量的LHS引用和RHS引用 在Jav ...
- 获取URL中某个参数的值
JS代码: function getQueryString(name){ var reg = new RegExp("(^|&)" + name + "=([^& ...
- React Native之React速学教程(中)
概述 本篇为<React Native之React速学教程>的第一篇.本篇将从React的特点.如何使用React.JSX语法.组件(Component)以及组件的属性,状态等方面进行讲解 ...
- xunsearch bsd 10.1安装心酸路。。。
cc -c -I/usr/local/xunsearch/include/ test.cpp cc test.o -L/usr/local/xunsearch/lib -lscws -lm -o te ...
- 转 linux screen 命令详解
一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...