JavaScript笔记5:计时器、对象、基本数据类型、引用数据类型

目录

console.time()计时器

对象

创建对象

添加属性

读取对象中的属性

修改对象中的属性值

删除属性

属性名和属性值

基本数据类型和引用数据类型


  1. console.time()计时器

    1. console.time()函数

      1. 可以用来开启一个计时器

      2. 需要传入一个字符串作为参数,这个字符串会作为该计时器的标识(名字)

    2. console.timeEnd()函数

      1. 可以用来关闭一个计时器

      2. 需要传入一个字符串(已有计时器的标识),用来指定需要停止的计时器

    3. 单位:ms

console.time('name')
代码块
console.timeEnd('name')
  1. 对象

    1. 在JS中的数据类型有String、Number、Boolean、Null、Undefined、Object。前五种是基本数据类型,只要不是这五种,那就是Object对象

    2. 对象是一种复合的数据类型,在对象中可以保存多个不同的数据类型的属性

    3. 对象的分类:

      1. 内建对象:

        1. 由ES标准中定义的对象,在任何的ES的实现中都可以使用

        2. 如:Math、String、Number

      2. 宿主对象:

        1. 由JS的运行环境提供的对象,目前来讲主要是指由浏览器提供的对象

        2. 如:BOM、DOM

      3. 自定义对象:

        1. 由开发人员创建的对象

    4. 创建对象

      1. 使用new关键字调用的函数,是构造函数(constructor)

      2. 构造函数专门用来创建对象

// 使用构造函数创建
var name1 = new Object();

// 使用对象字面量创建({})
var name2 = {};
var name3 = { 属性名:属性值, 属性名:属性值, …… };

// 使用工厂模式创建(使用工厂模式创建的对象都是Object类型)
function 函数名(形参1, 形参2, ...){
    // 创建一个新的对象
	var 对象名 = new Object();
    //添加属性
    对象名.属性1 = 形参1;
    对象名.属性2 = 形参2;
    对象名.方法名 = function(){语句...}
    
    // 返回对象
    return 对象名;
}
var 对象名 = 函数名(实参1, 实参2, ...);

 

// 工厂模式最终版
function createPerson2(name, age, gender){
	// 创建一个新的对象
	var obj = new Object()
				
	// 向对象中添加属性
	obj.name = name;
	obj.age = age;
	obj.gender = gender;
	obj.sayName = function(){
	    console.log('新:' + this.name + '  ' + this.age + '  ' + this.gender)
}
				
// 将该对象返回
	return obj;
}
			
var obj3 = createPerson2('孙悟空', 18, '男')
obj3.sayName()

 

  1. 添加属性

    1. 对象中保存的值称为属性,向对象添加属性的语法:

    2.  

      // 向对象添加属性
      对象名.属性名 = 属性值
      对象名["属性名"] = 属性值
      

       

    3. 对象名["属性名"] = 属性值更灵活,在[]中直接传递一个变量时,就会读取变量值对应的属性

    4.  

      obj['m'] = 123;
      var n = 'm'
      console.log(obj[n]);
      

       

    5. 读取对象中的属性

      1. 如果读取对象中不存在的属性,不会报错,而是会返回undefined

    6.  

      // 读取对象中的属性
      对象名.属性名
      

       

    7. 修改对象中的属性值

      1.  

// 修改对象中的属性值
对象名.属性名 = 新值

 

  1. 删除属性

// 删除属性
delect 对象名.属性名

 

		<script>
			// 创建obj对象
			var obj = new Object();
			// 向obj中添加一个name属性
			obj.name = '孙悟空';
			// 取出obj的属性值
			console.log(obj.name);
			// 修改name属性的值
			obj.name = '猪八戒';
			// 取出obj的属性值
			console.log(obj.name);
			// 删除name属性
			delete obj.name;
			// 取出obj的属性值
			console.log(obj.name);
			// 打印
			console.log(obj);
		</script>

 

  1. 属性名和属性值

    1. 属性名:

      1. 对象名不强制要求遵守标识符规范,但是极力推荐遵守规范

    2. 属性值:

      1. JS对象的属性值可以是任意数据类型

    3. in 运算符

      1. 通过该运算符可以检查一个对象中是否含有指定的属性

        1. 有,则返回true

        2. 无,则返回false

// in 运算符语法
"属性名" in 对象

 

  1. 基本数据类型和引用数据类型

    1. JS中的变量都是保存在栈内存中

      1. 基本数据类型

        1. 基本数据类型的值直接存储在栈内存中

        2. 值与值之间独立存在,修改一个变量不会影响其他变量

      2. 引用数据类型

        1. 对象保存在堆内存中,每创建一个新的对象,就会在堆内存中开辟一个新的空间,而变量保存的是对象的内存地址(对象的引用)

        2. 如果两个变量保存的是同一个对象引用,当通过一个变量修改属性时,另一个变量也会受到影响

    2. ==时

      1. 当比较两个基本数据类型时,比较值

      2. 当比较两个引用数据类型时,比较的是对象的地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值