javascript调用一个函数(对象),new和直接调用的区别
function Man(age){this.sex="male";this.age=age;
}
m1=Man(20);
m2=new Man(21);
m1就是函数Man()执行的返回值,也就是undefined. 在函数执行过程中,属性被加到全局作用域或者Man方法所属的对象上了。执行之后window.sex=="male"
而m2是Man的实例,Man {sex:"male",age:21}
function Man(age) {var obj = new Object();obj.sex = "mail";obj.age = age;return obj;
}
m3=Man(22);
这个就不需要加new,m3是一个Object,不是Man的实例。
native code中,加new就是返回这个构造函数的实例;不加作为函数就返回一个基本数据类型,或者会报错 “ DOM object constructor cannot be called as a function ”。
Date(),不加new返回当前时间,是一个字符串。加new的话,返回当前时间或者把参数格式化得到的时间,是一个Date对象。
String(),不加new将参数格式化为字符串,加new则返回的是String对象。
1. 直接调用的时候它叫“普通函数”,此时用全局对象window做上下文。
2. 用new操作符调用的时候它叫“构造函数”,此时用这个新生的对象做上下文。
3. 用某个对象拽着它调用的时候,它叫做“方法”,此时用拽它的那个对象做上下文。
javascript调用一个函数(对象),new和直接调用的区别相关推荐
- python一个函数调用另一个函数_在Python中将函数作为另一个函数的参数传入并调用的方法...
在Python中,函数本身也是对象,所以可以将函数作为参数传入另一函数并进行调用 在旧版本中,可以使用apply(function, *args, **kwargs)进行调用,但是在新版本中已经移除, ...
- Function.prototype 居然是一个函数对象
ECMA262: The Function prototype object is itself a Function object (its [[Class]] is "Function& ...
- 请用JavaScript实现一个函数,接受一-个IP白名单列表whitelist以及列表ipList
请用JavaScript实现一个函数,接受一-个IP白名单列表whitelist以及 列表ipList,判断输入的ipList中是否有任何ip包含在whitelist中,如果存在返回true,如果都不 ...
- python语言下同一个类下有多个函数,其中一个函数想调用另外一个函数里面的变量怎么调用
一:问题,同一个类下,有多个函数,其中一个函数想调用另外一个函数里面的变量怎么调用 解决方法:在调用函数里面,初始化一下被调用的函数,然后就可以直接使用被调用函数数里面的变量了 self.被调用函数名 ...
- 多线程都调用一个函数,在这个函数中的一个局部变量什么情况会被修改
对于一个局部变量应该是各线程独立的,一个线程不会改变另一个线程的临时变量. 多线程时, 几个线程间输出信息是交叉在一起的, 但你又没有区分是哪个线程输出的, 所以你自己就误认为是同一个线程输出的东西被 ...
- JavaScript 把一个函数作为另一个函数的参数
我们知道JavaScript函数是可以接受参数的 例如: var abc="just a test!"; function test(temp){ console.log(temp ...
- python函数定义及调用-Python函数的基本定义和调用以及内置函数
首先我们要了解Python函数的基本定义: 函数是什么? 函数是可以实现一些特定功能的小方法或是小程序.在Python中有很多内建函数,当然随着学习的深入,你也可以学会创建对自己有用的函数.简单的理解 ...
- 在JavaScript中每5秒调用一个函数
setInterval(function (){ alert("Hello"); }, 5000);
- java多线程调用一个函数_Java 多线程(一)
1. 多线程使用方法 使用多线程,绝大部分情况都是通过如下两种方式实现的,即继承Thread类或者实现Runnable接口.以下对两种方式分别进行介绍并比较. 1.1 使用Thread类实现多线程 自 ...
最新文章
- 一文盘点AutoML 库,自动机器学习演讲摘要
- js 数字相加_Python练习:解题 - 两数相加(JS, TS, PY3版)
- Postman请求linux服务器报错:503Forwarding failure,由于服务器端口未开放;服务器端口开放与关闭
- 粗浅理解html5中canvas transform()和settransform()方法
- Android Studio 插件
- oracle放在内存里,oracle如中何把小表钉住在内存中
- snort入侵检测系统下载Linux,入侵检测系统Snort 2.9.0.2 发布
- java 记事本编译_肿么用记事本编译运行java程序代码?
- 2016年《大数据》高被引论文Top10
- ECCV18|人脸对齐与跟踪如何克服遮挡、姿态变化带来的特征点跳变?
- 最大子矩阵问题悬线法 学习小结
- MFC日志(2011.4.9)
- [Err] 1093 - You can't specify target table 's' for update in FROM clause
- Java I/O系统之OutputStream
- SONY α系列(A6000A7)数码微单相机APP破解免付费安装教程
- 百度地图SDK for Android【Demo调起百度地图客户端导航功能】
- GPL授权GPL到底是什么?为什么MySQL可以收费?
- 产品运动动画用什么软件做的_3C产品渲染用什么软件好?Keyshot,工业设计必备!...
- Noise2Noise的一些学习总结
- 春秋旅游移动app设计界面
热门文章
- C# 多线程系列(二)
- 在 Perl 中使用 Getopt::Long 模块来接收用户命令行参数
- BZOJ_1606_ [Usaco2008_Dec]_Hay_For_Sale _购买干草_(背包)
- 利用nginx集群式部署服务器中,数据同步问题
- AJAX 网页保留浏览器前进后退等功能
- 利用URL重写跟踪Session(多学一招)
- 计算机考研分析题,2020计算机考研,易错题分析与常考点总结
- php 把图片转换成二进制流,php把图片转换成二进制流的方法
- c替代if else_答应我,别再if/else走天下了可以吗
- 为什么这么多python广告_为什么铺天盖地都是Python的广告?