发表于: 2018-12-18 22:56:09
1 636
今天完成的事:
东拼西凑算是把js阶段任务一给做完了。任务过程中遇到了太多的问题,感觉自己虚的一批,好多东西从其他地方拿copy过来用,都不知道是个什么意思,还是对基础知识学的太浅,其中主要问题还是在条件语句和for循环这里,有点懵逼。看别人的能看明白,自己写写不出来这种感觉。所以又从头开始准备把理论知识再梳理学习一遍,巩固基础知识。首先对于在任务中接触到的一些不理解的东西自己百度了一些学习资料。
1.JavaScript 对象字面量
什么是字面量
用来为变量赋值时的常数量
对象字面量
对象字面值是封闭在花括号对({})中的一个对象的零个或多个”属性名:值”列表
在对象字面量中,使用逗号来分隔不同的属性. 对象字面量的值可以是任何数据类型包括数组字面量,函数,嵌套的对象字面量
2.创建对象的两种方法:
使用字面量方法创建对象:var student = {name: "张三"};
使用内置构造函数创建对象:var student = new Object(); student.name = "张三"。
应该尽量使用字面量发创建对象,其显著优点在于它只需要输入更少的字符,除此之外,还有几点原因:选择字面量法创建对象强调该对象仅是一个可变的hash映射,而不是从对象中提取的属性或方法。
与使用Object构造函数相比,使用字面量好处在于它并没有作用域解析。因为可能当以同样的名字创建一个局部函数,解释器需要从栈中调用Object(0的位置开始一直向上查询作用域链,直到发现全局Object构造函数。)
3.数组和类型数组:
数组 是一种使用整数作为键(integer-key-ed)属性和长度(length)属性之间关联的常规对象。此外,数组对象还继承了 Array.prototype 的一些操作数组的便捷方法。例如:(这两个代码在别人的代码中见到过,当时看死活没看明白..)
indexOf
(搜索数组中的一个值)
push
(向数组中添加一个元素),等等。 这使得数组是表示列表或集合的最优选择。
4.在JavaScript中有6中原始数据类型:
boolean null undefined string object 数字类型
除了object以外所有的类型都是不可变的(值本身无法被改变)例如:在js中字符串是不可变的 ,在js中对字符串的操作一定会返回一个新的字符串,原始字符串并没有被改变,所以我们称这些类型为" 初始值"。
对象
在 Javascript 里,对象可以被看作是一组属性的集合。用对象字面量语法来定义一个对象时,会自动初始化一组属性。(也就是说,你定义一个var a = "Hello",那么a本身就会有a.substring这个方法,以及a.length这个属性,以及其它;如果你定义了一个对象,var a = {},那么a就会自动有a.hasOwnProperty及a.constructor等属性和方法。)而后,这些属性还可以被增减。属性的值可以是任意类型,包括具有复杂数据结构的对象。属性使用键来标识,它的键值可以是一个字符串或者符号值(Symbol)。
对象中有两种属性:数据属性和访问器属性。
数据属性:数据属性是键值对
访问器属性:有一个或两个访问器函数 (get 和 set) 来存取数值.
在JavaScript中可以使用typeof 运算符可以帮助你查询变量的类型.
明天计划的事:弄清楚条件语句和for循环的基本使用方法.以及数组和字符串的一些知识.
遇到的问题:对基础知识学的太浅,其中主要问题还是在条件语句和for循环这里,有点懵逼。看别人的能看明白,自己写写不出来这种感觉
收获:弄明白了怎样在一个数组里添加一个元素和搜索一盒值.学习了什么是对象字面量.
评论