发表于: 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代码。


遇到的问题:(遇到什么困难,怎么解决的) 

因为是看的资料,并不是很理解,只能明天敲代码后再看遇到什么问题。


收获:(通过今天的学习,学到了什么知识)



返回列表 返回列表
评论

    分享到