JavaScript学习笔记3

这篇博客深入介绍了JavaScript中的对象类型,包括内建对象、宿主对象和自定义对象的创建和使用。文章详细阐述了如何通过对象字面量和构造函数创建对象,以及如何添加、删除属性。此外,还探讨了JavaScript中的基本数据类型和引用数据类型的区别,并通过实例解释了变量存储和函数的使用,包括函数的创建、调用、参数和返回值。最后,文章提到了函数作为对象的特性及其在内存中的表现。
摘要由CSDN通过智能技术生成

JavaScript对象

一、对象简介
  1. 对象属于一种复合类型的数据类型,在对象中可以保存多个不同数据类型的属性。
二、对象分类
  1. 内建对象:由ES标准中定义的对象,在任何ES中都能实现,比如:Math、String、Number、Boolean、Function、Object等。
  2. 宿主对象:由JS运行环境提供的对象,目前来讲主要是由浏览器提供的对象,如:BOM、DOM.
  3. 自定义对象:由开发人员自己创建的对象。
三、创建对象
  1. 使用关键字new调用的函数是构造函数(constructor),构造函数是专门用来创建对象的函数。创建对象:var a=new Object();
  2. 使用typeof检查一个对象,返回object。
    3.命名: 对象的属性名不强制要求遵守标识符的规范,但尽量按照标识符的规范去命名。如果要使用特殊的属性名。不能采用.的方式,需要使用另一种特殊的方式:对象[“属性名”]=属性值。使用[]更加灵活,在[]中可以直接传递一个变量,这样变量值是多少就会读取那个属性。
在这里插入代<script type="text/javascript">
      var s=new Object();
      s["123"]="aaa";
      s["111"]="bbb";
      var n="123";
      var m="111";
      console.log(s);
      console.log(s[n]);
      console.log(s[m]);
   </script>码片
   //结果:
   //{111:'bbb',123:'aaa'}
   //aaa
   //bbb
  1. 属性值:JS对象的属性值可以使任意的数据类型,甚至可以使一个对象。
  2. 添加属性、删除属性。
在这里插入代码片<script type="text/javascript">
      var s=new Object();
      s.name="123";
      s.age="12";
      console.log(s.name);
      delete s.name;
      console.log(s);
   </script>
  1. 使用对象字面量创建一个对象:var s={};使用对象字面量可以在创建对象时,直接指定对象中的属性。语法:{属性名:属性值,属性名:属性值},如果要使用特殊的属性名,则必须加引号。
<script type="text/javascript">
      var s={
         name="111",
         age=11,
         gender="女"
      };
   </script>
  1. in运算符:通过in可以检查一个对象中是否含有指定的属性,有返回true,无返回false。语法:“属性名” in 对象名。
四、基本数据类型和引用数据类型
  1. 基本数据类型string、number、Boolean、null、undefined。JS中变量都是保存在栈内存中的,基本数据类型的值直接在栈内存中存储,值与值之间独立存在,修改一个变量的值不会影响到其他变量。
  2. 引用数据类型object,对象是保存在堆内存中的,每创建一个新的对象,就会在堆内存中开辟一个新的空间,而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是一个对象引用,当一个变量修改属性时,另一个变量也会受到影响。
<script type="text/javascript">
      var a=11;
      var b=a;
      a++;
      console.log(a);
      console.log(b);
      var s=new Object();
      s.age=11;
      var b=s;
      s.age++;
      console.log(s.age);
      console.log(b.age);
   </script>
   //结果
  //12
  //11
  //12
  //12
  1. 当比较两个基本数据类型的值时,就是比较值,而当比较两个引用数据类型是,他是比较对象的内存地址,如果连个对象一模一样,但是地址不同,会返回false。

JavaScript函数

一、函数简介
  1. 函数也是一个对象,函数可以封装一些可执行代码,在需要时执行这些功能,使用typeof检查一个函数对象时,会返回function。
二、函数创建及调用
  1. 创建一个函数:
<script type="text/javascript">
      var fun1=function(){
         document.write("不想学习");
         console.log("啦啦啦啦啦!!!");
      }
      fun1();
   </script>
  1. 可以将要封装的代码以字符串的形式传递给构造函数(可以但没必要),封装到函数里的代码被调用的时候才会执行。
//可以但没必要
var fun=new function("console.log('这是第一个函数');");
  1. 使用函数声明来创建一个函数
<script type="text/javascript">
      function fun2(){
         document.write("不想学习");
         console.log("啦啦啦啦啦");
      }
      fun2();
   </script>
  1. 立即执行函数:函数定义完理解被调用
(function(){
    alert("这是一个匿名函数");
})();
三、参数和函数返回值
  1. 形式参数和实际参数(形参和实参):定义函数时指定一个或多个形参,声明形参就相当于在函数内部声明了对应的变量,在调用函数时,在()内指定实参,实参将会赋值给对应的形参。
  2. 实参可以使任意的数据类型,也可以是一个对象,当参数过多时,可以将参数封装到一个对象中,然后通过对象传递参数。
  3. 实参可以是一个对象,也可以是一个函数。
  4. 注意:调用函数时,解析器不会检查实参的类型,要注意是否有可能接收到非法参数,如果有可能则需要对参数进行类型的检查;多余实参不会被赋值;如果实参的个数少于形参的个数,则没有对应实参的形参的值将会是undefined。
  5. 返回值可以是任意的数据类型,也可以是一个对象,也可以是一个函数。
  6. return:如果return后不跟任何值,就相当于返回一个undefined,如果函数中不写return,则也会返回undefined。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值