JavaScript函数与对象核心概念详解

作者:木棉

时间:2026-10-29

浏览:375

本文深入解析JavaScript中函数与对象的核心机制。详细阐述函数的定义、参数传递、返回值处理以及作为值的用法。重点讲解对象的引用特性、字面量创建与构造函数模式,并澄清构造函数与实例化的概念,帮助开发者理解对象创建与初始化的底层逻辑。

文章目录

JavaScript函数基础与变量作用域

函数

函数是一段可重复使用的代码块,通常由事件触发或在被调用时执行。


function One(leve , leve){
  //code
  return leve+leve
 }

注释:

在定义函数时,形参无需指定类型;

return语句并非必需,若函数未包含return语句,则默认返回undefined;

局部变量与全局变量

在函数内部声明的变量为局部变量;

在函数外部声明的变量为全局变量;

若向一个新变量赋值时未使用var关键字,该变量将自动成为全局变量;

函数可以作为值使用

形式1:


 function init(){
  alert("One")
 }
 window.onload = init;

形式:


window.onload = function(){
  alert("One");
 }

注:以上两种方式,都能让浏览器提示:One。

JavaScript对象机制与创建方式

对象

JavaScript 中的所有事物都是对象:字符串、数值、数组、函数,此外,JavaScript 允许自定义对象。

对象的引用

将一个对象赋至变量时,这个变量会包含这个对象的一个引用,而不是对象本身。

调用一个函数传入对象时,实际上是只传递了对象引用(拷贝一份引用副本,传给形参,指向对象,即两个引用指向了同一对象)

创建对象


 var dog = {
  name : "myDog",
  weight : ,
  bark :function(){
   alert("woof!");
  } 
 }
 dog.bark();

注:每一个属性(除了最后一个)后都要有“,”。

构造函数构造对象


function Dog(name,weight){
  this.name = name;
  this.weight = weight;
  this.bark = function(){
   if(this.weight > ){
    alert(this.name + "Woof!");
   }else{
    alert(this.name + "Yip!");
   }
  };//这里也不能忘了分号
 }
 var myDog = new Dog("hello","");
 myDog.bark();

PS:

构造函数与实例化概念解析

1.什么是构造函数

构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。

这是我查阅相关资料的解释,解释的很书本化但意思表达的还是很清楚的。下面请看小例子:

代码如下:

 

代码如下:

var request = new XMLHttpRequest();

这句表达式是我们在使用AJAX技术时创建request对象时经常用到的。那么我们可以清楚的看到 “new XMLHttpRequest();” 这句话就是一个标准的构造函数!我们 “var” 声明了一个 “request” 对象,用构造函数 “new XMLHttpRequest();” 来初始化这个 “request” 对象为它赋初始值。所以我们可以知道:“与 ‘new' 运算符一起使用用来创建对象并初始化对象的‘函数'就是构造函数”。

比如我们常见的声明数组就是标准的构造函数:var array = new Array();

2.什么是实例化对象

代码如下:


var request = new XMLHttpRequest();

在面向对象的编程中,通常把用类创建对象的过程称为实例化。

上面我用红色和蓝色将解释的重点标了出来。说白了,实例化对象就是创建对象的过程!

那么什么是“类”呢?根据字面理解我们可以理解为“类型”。比如“蛋糕”,它是一个甜品的分类,也就是一个类型;那么起司蛋糕则是甜品中蛋糕这个分类的具体的个体,也就是对象。

我们知道在程序语言中,“类”是抽象的,我们没有办法来操作它或使用它的方法和属性,只有把这个类实例化成为一个对象,我们才可以去调用它的一系列方法和属性。其实这个也很好理解,在生活中抽象的东西我们没有办法看到它或者捕捉到它,那么自然我们也没有办法去使用它的一些功能,只有将抽象的东西具体到一个个,个体或实际的对象,我们才能清楚的理解或者认识它;编程亦是如此。因此,实例化对象就是由抽象到具体的过程,这个过程就叫实例化。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章