发表于: 2019-02-16 22:45:45
1 590
今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)
一、了解变量和常量:
(1)变量:
let仅用来声明变量,并且只能声明一次。如:
let currentTempc=22; //degrees celsius
意思是:声明(创建)currentTempc,并给它指定一个值。
变量关键字是let,也可以同时声明多个变量。
声明变量也可以不用赋值,会有一个特殊的默认值:undefined(不明确的);
注: currentTempc首字母大写,被称为驼峰命名法。
(2)常量:
可以储存值。与变量的不同点:常量一旦初始化就不能在改变。
常量关键字是const,也可以声明多个常量。
const ROOM_TEMP_C=21.5
注意:非强制。代表明确数字或者字符串的常量名都应该由大写字母组成,并用下划线间隔多个单词,便于区分。
(3)变量和常量优先用哪个?
经验法则告诉优先使用常量。
只是用于给某个数据取名字,并非改变它的值。优点:可以防止一些不应该被更改的值被意外更改。
有一种情况必须用变量而非常量:for循环。
二、了解字面量:
字面量本质上是一种创建值的方式。
let room=“conference_room_a”;
room表示“标识符”,意思表示这是一个常量。
“conference_room_a”表示“字面量”
注:conference_room_a是蛇型命名法。可以采用任意一种命名规范,但是选择了就不能更改,保持一致性。
注意:数字不需要任何形式的引号,因为标识符不能以数字开头。
javascript可以区分标识符和字面量。
三、基本类型有六个:分别是:
(1)数字(number):
有两种格式的近似值。(1、IEIE-764双精度。2、浮点型)
但更倾向于简单使用“double”(双精度型)
javascript只有一种数值数据类型(专用的整数类型)。
优点:1、简化了javascript。
2、降低对整数算法有性能的要求,或对固定精度的数字的精度有较高要求的应用的适应性。
注:Javascript能识别4种数字字面量。(十进制数、二进制数、八进制数和十六进制数)
(2)字符串(string):是简单的文本数据。
在javascript中表示“unicode”文本。
unicode:是统一字符编码标准,一个计算机行业标准。用来表示文本数据,涵盖了字符的字符码,以及大多数人类语言的符号,甚至是emoji表情符号。(unicode不需要转义可以直接在编辑器中输入。在编辑器中输入unicode字符前,需要查看编辑器和操作系统的相关文档,在正确使用。)
转义:作用是为了区分文本数据。通过符号来进行转义,符号为反斜杠(\)可以对引号进行转义,让Javascript认为该字符串并没有结束。
如:
const dialog(对话框)=“...\...\"to Max”;
单引号''表示英文文本语句,或插入HTML脚本时。
双引号“”表示HTML标签相关属性的值。
注:数字可以用作字符串:
给数字加上引号,就变成了字符串。
如:const resultl=3+'30'; //'30'被转换成字符串,结果为字符串'330'
javascript会自动将包含数字的字符串转换成数字。
如:const resultl=3*'30'; //‘30被转换成数字;结果为数值90;
(3)布尔型(boolean):
有两种值:
1、true(正确的)
2、false(错误的)
正确的表示方法:
let heating=true;
let heating=false;
布尔型的两个用途:
1、存储特殊值。number、INFINIFY
2、以函数的形式提供某些功能。
(4)null 开发者用+(5)undefind 留给javascript用。这两个都只有一个唯一的值。两者都表示不存在的。
注:新手不确定的情况下建议使用null。
(6)符号:是ES6的新特性,是一种新的数据类型,代表一个唯一的标志,是独一无二的,不会匹配其他任何符号。有点类似对象(每个对象都是唯一的),但符号是一种基本类型。
四、对象:
与基本类型相反,形式和值都非常多样化。可以代表多个值或者复杂值,在生命周期中是可以变的,本质上是个容器。
对象的灵活性,可以用来构造自定义的数据类型。
对象的语法:
大括号{}是成对出现的。对象的内容称作属性(或成员):属性由名称或键和值组成。
注:属性名必须是“字符串”或者“符号”,值可以是任意类型(包括其他对象)。
如:
const obj={};
obj.color; //“yellow”
obj自始至终指向同一个对象,只是对象自身的内容被修改了。
javascript提供了一些内置的对象:
(1)Array
(2)Date
(3)RegEXP
(4)Map和WeakMap
(5)Set和Weakset
五、数组:
(1)是javascript的一种特殊类型的对象。天生具有自然排序特性。(元素0总是出现在元素1之前),键是数字,并且是有序的。
优点:
1、拥有C语言数组的高效索引。
2、拥有强大的动态数组和链表的特性。
特性:
1、数组长度不固定,可以随时添加和删除元素。
2、类型是多样的。每个元素是任意类型。
3、数组下标从0开始,第一个元素是0。
注意:建议用数字来表达数组,用非数字的键会增加定位bug的难度,也会造成混乱。
javascript中用方括号[ ]创建数组字面量,多个元素之间用逗号隔开。如:
const a1=[1,2,3,4]; //数值的数组。
const a2=[1,'two',3,null]; //混合类型。
(2)数组的属性:length(返回),返回数组元素的个数。如:
const arr=['a','b','c'];
arr.length;
可以访问数组的指定元素。(类似访问对象的属性)
const arr=['a','b','c']; //获取第一个元素。
arr[0];
//数组最后一个元素的下标是arr.length-1
arr[arr.length-1];
这里可以这样理解,数组是有自然排序的,元素0永远在1前面,所以这里'a'是0,'b'是1,'c'是-1,因为前面给最后一个元素'c'赋值为-1。
改变数组特定下标的元素的值,赋一个新的值就可以了。如:
const arr=[1,2,'c',4,5];
arr[2]=3; //arr的值为[1,2,3,4,5]
这里arr[2]指的是0~2数字,就是指arr[2]对象赋值为3,3表示为‘c’
明天计划的事情:(一定要写非常细致的内容)
看了这么多资料,依然是懵懵懂懂,很懵逼的,所以打算明天开始在实践中检验真知,还是敲代码来理解。
明天开始写九宫格增加的按钮样式,然后在新建一个文件用外联的方式引入。然后开始编写js代码。
遇到的问题:(遇到什么困难,怎么解决的)
因为是看的资料,并不是很理解,只能明天敲代码后再看遇到什么问题。
收获:(通过今天的学习,学到了什么知识)
评论