zoukankan      html  css  js  c++  java
  • JavaScript基础(05_对象)

    对象Object

    • 对象的分类:

      • 内建对象

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

        • 比如:Math String Number Boolean Function Object....

      • 宿主对象

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

        • 比如BOM(浏览器对象) DOM(文档对象)

        • 比如 console document

      • 自定义对象

        • 由开发人员自己创建的对象

    • 创建对象

      • 构造函数

        • 使用new关键字调用的函数,是构造函数constructor

        • var obj = new Object();
        • 构造函数是专门用来创建对象的函数

        • 在对象中保存的值成为属性

        • 向对象添加属性

          • 语法:对象.属性名=属性值; || 对象["属性名"] = 属性值

        • 读取对象中的属性

          • 语法:对象.属性名 || 对象["属性名"]

        • 如果读取对象中没有的属性,不会报错,而会返回Undefined

        • 修改对象中的属性值

          • 语法:对象.属性名=属性新值;

        • 删除对象的属性

          • 语法:delete 对象.属性名

      • 对象字面量

        • 可以在创建对象时,直接指定对象中的属性

        • 语法:{属性名:属性值, 属性名:属性值...}

          • 对象字面量的属性名可以加引号,也可以不加

          • 如果要使用一些特殊的名字,则必须加引号

          • 属性名和属性值是一组的名值结构

          • 名和值之间使用:连接,多个名值之间使用,隔开

        • var obj2 = {name:"Tom",age:18}
      • Note

        • 属性名

          • 对象属性名不强制要求遵守标识符的规范

          • 尽量按照标识符的规范去用

        • 属性值

          • js对象的属性值,可以是任意的数据类型

          • 也可以是一个对象

        • in运算符

          • 通过in可以检查一个对象中是否含有指定的属性名

          • 语法:“属性名” in 对象

            • var obj = new Object()
              obj.name = "Tom"
              console.log("name" in obj)  //true
              console.log("test" in obj)  //false
    • 基本数据类型和引用数据类型

      • 变量都是保存到栈内存中的

        • 形式:变量名=变量值

        • 基本数据类型的值直接在栈内存中进行存储

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

      • 对象是保存到堆内存中的

        • 每创建一个新的对象,就会在堆内存中开辟出一个新的内存空间

        • 变量保存的是对象所对应的内存地址(对象的引用)

        • 当通过一个变量修改对象属性时,另一个也会受到影响

      • 比较

        • 当比较两个基本数据类型的值时,就是值的比较

        • 而比较两个引用数据类型时,他们比较的是对象的内存地址

          • 如果两个对象是一模一样的,但是内存地址不同,结果也返回false

    • 常用对象

      • Date对象

        • 在js中使用Date对象来表示一个时间

        • 如果直接使用构造函数创建一个Date对象,则会封装为当前代码执行的时间

        • getDate()

          • 获取当前对象日期中的几号

        • getDay()

          • 获取当前对象日期中的星期几

          • 返回 0-6的值,0表示周日,1表示周一,6表示周六

        • getMonth()

          • 获取当前对象日期中的月份

          • 返回0~11的值

          • 0表示 1月,1表示2月,11表示12月

        • getFullYear()

          • 获取当前对象日期是几几年

        • getTime()

          • 获取当前对象日期的时间戳

          • 指的是从格林威治标准时间1970年1月1日,0时0分0秒到

          • 当前时间花费的毫秒数(ms)

      • Math对象

        • Math和其他对象不同,他不是一个构造函数

        • 他属于一个工具类,不用创建对象,里面封装了数学运算的相关属性和方法

          • 圆周率

            • console.log(Math.PI);

          • 绝对值

            • console.log(Math.abs(-4));

          • 向上取整

            • console.log(Math.ceil(1.4444));

            • console.log(Math.ceil(1.0444));

          • 向下取整

            • console.log(Math.floor(1.9444));

            • console.log(Math.floor(1.0444));

          • 四舍五入

            • console.log(Math.round(1.5444));

            • console.log(Math.round(1.4444));

          • 生成随机数0-1之间

            • 生成一个x-y之间的随机数:console.log(Math.round(Math.random()*(y-x)+x))

            • console.log(Math.random());

            • console.log(Math.random());

          • 生成一个1-6随机数

            • console.log(Math.round(Math.random()*5+1));

          • 最大值

            • console.log(Math.max(10,20,5));

          • 最小值

            • console.log(Math.min(10,20,5));

          • 平方根

            • console.log(Math.sqrt(4));

            • console.log(Math.sqrt(2));

            • console.log(Math.pow(2,2));

            • console.log(Math.pow(1,3));

            • console.log(Math.pow(2,3));

      • 包装类

        • 在js中提供了三个包装类,通过这三个包装类可以将基本数据类型的数据转换为对象

          • String()

            • 可以将基本数据类型字符串转换为String对象

          • Number()

            • 可以将基本数据类型数字转换为Number对象

          • Boolen()

            • 可以将基本数据类型布尔值转换为Boolean对象

        • 当我们对一些基本数据类型的值去调用属性和方法时,

        • 浏览器会临时使用包装类将其转换为对象,然后调用对象的属性和方法

                   
  • 相关阅读:
    OC学习一周总结
    C语言基础学习总结
    123
    汇编中中括号[]作用以及lea和mov指令的区别
    C#获取局域网内所有的SQL Server服务器名
    .net 初中级程序员招聘
    C#在客户端与 JS 交互
    [ZT]Mac下安装mysql和workbench
    Eclipse文件夹导入Jar
    Tomcat配置后提示404的解决办法
  • 原文地址:https://www.cnblogs.com/lich1x/p/13697119.html
Copyright © 2011-2022 走看看