zoukankan      html  css  js  c++  java
  • JavaScript总结学习一:js中构造函数与普通函数的区别

    构造函数不仅只出现在JavaScript中,它同样存在于很多主流的程序语言里,比如c++、Java、PHP等等。与这些主流程序语言一样,构造函数在js中的作用,也是用来创建对象时初始化对象,并且总与new运算符一起使用。

    在js中,构造函数与普通函数的区别不是很大。接下来就主要讲讲两者的区别。

    1.在命名规则上,构造函数一般是首字母大写,普通函数则是遵照小驼峰式命名法。

    2.在函数调用时,

     1 //构造函数
     2 function Egperson (name,age) {
     3     this.name = name;
     4     this.age = age;
     5     this.sayName = function () {
     6         alert(this.name);
     7      }
     8 }
     9 var person = new Egperson('mike','18'); //this-->person
    10 person.sayName();  //'mike'
    11 
    12 
    13 //普通函数
    14 function egPerson (name,age) {
    15     this.name = name;
    16     this.age = age;
    17     this.sayName = function () {
    18         alert(this.name);
    19      }
    20 }
    21 egPerson('alice','23'); //this-->window
    22 window.sayName();  //'alice'

    可以看出:

    1)构造函数内部会创建一个实例,调用普通函数时则不会创建新的对象。

    2)构造函数内部的this指向是新创建的person实例,而普通函数内部的this指向调用函数的对象(如果没有对象调用,默认为window)

    3.返回值

    返回值方面,对于构造函数而言,如果返回值是基本数据类型,那么返回值就是this指向的实例;如果是复杂数据类型,那么返回值为对象(不知道这句话对不对)

    刚刚看了一篇文章感觉深受感动,看完之后,真有拨云见日的感觉!我把链接放在下面,感兴趣的可以去看看,博主是以故事的形式讲述了JavaScript的对象问题,文笔简洁却不失趣味,非常易懂~

    http://www.cnblogs.com/aishangJava/p/7232680.html

  • 相关阅读:
    crawler碎碎念4 关于python requests、Beautiful Soup库、SQLlite的基本操作
    另类爬取表格数据
    如何选择kmeans中的k值——肘部法则–Elbow Method和轮廓系数–Silhouette Coefficient
    欧几里得距离
    数据导入+欧式距离计算+互信息计算
    轮廓系数
    肘部法则
    利用键值对进行排序的操作
    NMI计算
    彻底搞懂 C# 的 async/await
  • 原文地址:https://www.cnblogs.com/cindy79/p/7245566.html
Copyright © 2011-2022 走看看