JS 中构造函数和普通函数的区别

news/2024/5/19 1:30:13 标签: 构造函数, 函数

1、函数>构造函数也是一个普通函数,创建方式和普通函数一样,但函数>构造函数习惯上首字母大写

2、函数>构造函数和普通函数的区别在于:调用方式不一样。作用也不一样(函数>构造函数用来新建实例对象

3、调用方式不一样。

     a. 普通函数的调用方式:直接调用 person();

     b.函数>构造函数的调用方式:需要使用new关键字来调用 new Person();

4、函数>构造函数函数名与类名相同:Person( ) 这个函数>构造函数,Person 既是函数名,也是这个对象的类名

5、内部用this 来构造属性和方法 

function Person(name,job,age)
{
     this.name=name;
     this.job=job;
     this.age=age;
     this.sayHi=function()
         {
          alert("Hi")
         }
 } 

5、函数>构造函数的执行流程

      A、立刻在堆内存中创建一个新的对象

      B、将新建的对象设置为函数中的this

      C、逐个执行函数中的代码

      D、将新建的对象作为返回值

6、普通函数例子:因为没有返回值,所以为undefined

7、函数>构造函数例子:函数>构造函数会马上创建一个新对象,并将该新对象作为返回值返回

8、用instanceof 可以检查一个对象是否是一个类的实例,是则返回true;

所有对象都是Object对象的后代,所以任何对象和Object做instanceof都会返回true


http://www.niftyadmin.cn/n/1529017.html

相关文章

移动端图片上传

<li class"photobox"><span>头像</span><div class"phobtn"><input id"perPhoto" name"file" type"file" accept"image/*" capture"camera" /><img class""…

vue props (组件自定义特性) 介绍 【草稿】

定义&#xff1a; Prop 是你可以在组件上注册的一些自定义特性。当一个值传递给一个 prop 特性的时候&#xff0c;它就变成了那个组件实例的一个属性。 1. 用 prop 向子组件传递数据 <div id"div" > <food></food> </div><script> Vu…

h5页面在微信中进行分享

1.引入该文件<script src"http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> 2. //微信分享var now_urlwindow.location.href;$.ajax({url : 链接,type : "get",dataType : "json",async : false,data:{accesstoken:toke…

vue v-model 双向绑定表单元素的数据:实质是绑定了value、checked、selected属性

用法&#xff1a; 可以用 v-model 指令在表单 <input>、<textarea> 及 <select> 元素上创建双向数据绑定。 它会根据控件类型自动选取正确的方法来更新元素。 尽管有些神奇&#xff0c;但 v-model 本质上不过是语法糖。 它负责监听用户的输入事件以更新数…

v-model 修饰符:.lazy .number .trim

#.lazy 延迟同步值 在默认情况下&#xff0c;v-model 在每次 input 事件触发后将输入框的值与数据进行同步 (除了上述输入法组合文字时)。你可以添加 lazy 修饰符&#xff0c;从而转变为使用 change事件进行同步&#xff1a; <input v-model.lazy"text" /> …

移动端ios浏览器双指禁止放大页面

window.onload function() {// 阻止双击放大var lastTouchEnd 0;document.addEventListener(touchstart, function(event) {if (event.touches.length > 1) {event.preventDefault();}});document.addEventListener(touchend, function(event) {var now (new Date()).get…

vue点击遮罩层阴影区域隐藏

原文链接 https://www.cnblogs.com/fairy62/p/10179599.html template <button click"writeMessageShowtrue">打开遮罩</button> <section class"wmassageMask" v-show"writeMessageShow" click"writeMessageFun($event)&…

Object.defineProperties 添加一个/多个属性到对象;修改已有属性

语法&#xff1a; object.defineProperties(object, descriptors) 作用&#xff1a;除了可以用构造函数和字面量的方式为对象设置属性&#xff0c;也可以使用 object.defineProperties来添加/设置对象属性。 参数&#xff1a; object 必需。 对其添加或修改属性的对象。 这可…