zoukankan      html  css  js  c++  java
  • 学习 JavaScript (八) 引用类型之 Object

    马.jpg

    在JavaScript中,引用类型是一种数据结构。包括对象(Obejct)、数组(Array)、日期(Date)、正则表达式(RegExp)、函数(Function)、基本包装类型(new Boolean、new Number、new String,注意:和基本类型不太相同)、单体内置对象(Global、Math)

    今天先来学习以下 Obejct。

    Ojbect

    对象是某个特定引用类型的示例。用以下代码生成:

    let person = new Object()
    

    新生成对象的过程就是为新对象定义了默认的属性和方法。引用类型的值不止Object,比如Array也是引用类型,只不过大多数引用类型值都是Object的实例,Object在我们的平常使用中最频繁。

    创建Object实例有两种方式:

    1. 使用new操作符:
    let person = new Object()
    person.name = "kurry"
    person.age = 24
    
    1. 对象字面量表示法:
    let person ={
        name:"kurry",
        age:24
    }
    
    // 如果置空
    
    let person = {}; // 与new Object() 作用一样,为实例添加默认属性和方法
    
    

    注意:在IE7及以前版本的浏览器,还有Opera浏览器中,字面量表示法最后一个属性不能加逗号“,”,否则会报错。

    对象字面量也可以用于,向函数传递大量可选参数,而必需的参数直接使用命名参数。比如:

    function displayFunc(name, args){
        let output = ""
        if(name){
            output += "Name:" + name + "
    "
            
            if(typeof args.age == "number"){
                output += "Age:" + args.age + "
    " 
            }
            
            if(typeof arg.height == "Number"){
                output += "Height:" + args.height + "
    "
            }
            
            alert(output)
        }else{
            alert("你没有输入名字")
        }
    }
    
    displayFunc("kurry", {name: 24, height:175}); 
    
    displayFunc("kurry", {name: 24})
    
    displayFunc("kurry", {})
    
    

    访问对象的属性时可以用「点表示法」,也可以用「方括号表示法」。后者的优势在于可以使用变量来访问属性,这些变量可以包含空格、关键字或者保留字。比如:

    // 方括号表示法:
    let arg = "name"
    person[arg]; // 等价于person["name"]
    
    // 点表示法
    person.name;
    

    如果没有特殊情况,推荐使用点表示法。


    欢迎大家关注微信公众号:可视化技术( visteacher )

    不仅有前端和可视化,还有算法、源码分析、书籍相送

    个人网站:http://blog.kurryluo.com

    各个分享平台的 KurryLuo 都是在下。

    用心学习,认真生活,努力工作!

  • 相关阅读:
    (mysql)卸载5.0安装6.05出现“Error Nr. 2003 : Can't connect to MySQL server on 'localhost' (10061). ”的解决办法
    (Redundancy)关于服务器冗余的几个疑问,请知道的帮忙解答.
    (C#)XML文件操作3
    POJ 3635 Full Tank(最短路径变形 + 优先队列)
    POJ 2286 The Rotation Game(DFS + 迭代加深)
    POJ 1141 Brackets Sequence(区间DP + 打印路径)
    POJ 3460 Booksort(IDA* + 估价函数设计)
    POJ 2908 Quantum(BFS + 优先队列)
    NOI 1997 积木游戏(解题报告)
    NYOJ 110 决斗(区间DP + 黑书例题)
  • 原文地址:https://www.cnblogs.com/kurryluo/p/kurryluo.html
Copyright © 2011-2022 走看看