zoukankan      html  css  js  c++  java
  • js对象的九大特点

    第一:“键值对”列表中的最后一个属性要以逗号结尾

    这个逗号有个高大上的名字:尾随逗号(trailing)

    原因应该就是为了规范,简单来说就是为了美观。

    第二:使用const声明的对象,其数据是可以被修改的

    该对象内部的属性是可以被修改的。

    对对象整体进行更改,是不行滴。

    第三:多词属性名来捣乱

    键值对中的键,也就是name:"zhangsan"中的name如果变成“new name”。

    名字由一个单词变为多个单词,会使得有些事物发生改变。

    • 点不能使用了。原先是person.name,现在可不能写person.new name。
    • 应该写person["new name"]

    遇到多词名称,记住三点:

    1. 用括号
    2. 名字加引号
    3. 括号内可以直接写字符串,也可以写变量,因为变量中也可以写字符串

    第四:属性名还有一种古怪的方式,方括号【】

    1 let name="apple"
    2 var o={
    3     [name]:5,
    4 }
    5 alert(o.apple);

    记住,方括号中存放的不是确定的,死板的固定值,而是变量,变量懂吗?

    灵活多变的那种。

    第五:特殊情况下,属性值可以简写

     1 function makeUser(name, age) {
     2   return {
     3     name: name,
     4     age: age,
     5     // ……其他的属性
     6   };
     7 }
     8 
     9 let user = makeUser("John", 30);
    10 alert(user.name); // John

    观察可以得到,属性名和变量名一样。

    此时,可以换个写法:

    变化之前:name:name

    变化之后:name

    有啥意义?就是图个方便,某种意义上来说还增加了初学者的负担,所以事物皆有两面性,无事无非。

    第六:属性名称可以随便起

    不用再担心关键字不能用了(为什么一定要用关键字?闲着蛋疼)

    记住一点:__proto__ 的属性。我们不能将它设置为一个非对象的值

    第七:“in”的作用

    "key" in object

    属性名 在 对象中。

    in左边必须是属性名,右边是对象名,返回的是布尔值true或者false。

    属性名通常是字符串,但也有可能是变量,变量中存放的还是字符串。

    所以还是字符串在起作用。

    为什么要in?

    因为怕undefined来捣乱。

    第八:for...in循环

    语法格式:

    1 for (key in object) {
    2   // 对此对象属性中的每个键执行的代码
    3 }

    其中,除了in左边的key不确定之外(可以用其他单词来代替),其他几个单词的结构都是确定的。

    侧面反映了,这个语句中重要的是“到底是要遍历哪一个对象”。

    第九:对象属性的顺序

    一个概念:整数属性名

    属性名是整数字符串

    另一个概念:整数字符串

    可以被转化为整数的字符串

    “1”,“2”等就是整数字符串。

    记住:

    • 当属性名不是整数字符串,遍历对象输出数据时的顺序按照创建时的顺序
    • 当属性名是整数字符串,按照从小到大的顺序。

    如果你能学到这,那么你一定具有成为前端大神的潜质,加油!千里之行,始于足下。

  • 相关阅读:
    Codeforces 414A
    使用Homebrew在Mountain Lion上安装MySQL
    hdu2066:一个人的旅行(最短路)
    hdu2066:一个人的旅行(最短路)
    hdu1297:Children’s Queue(大数递推)
    hdu1297:Children’s Queue(大数递推)
    hdu1175: 连连看(bfs)
    hdu1175: 连连看(bfs)
    PID72 / 拔河比赛 (动态规划)
    PID72 / 拔河比赛 (动态规划)
  • 原文地址:https://www.cnblogs.com/flyover/p/14081253.html
Copyright © 2011-2022 走看看