Day04 JavaScript

知识点


  • 注释:
//单行注释
/*
多行注释
*/
  • 数据类型
    在CS(Computer Science)中,数据便是一切。JavaScript总共支持7中数据类型。
    undefined:未定义;
    null:空对象;
    boolean:布尔型;
    number:数值型;
    string:字符型;
    symbol:符号;
    object:对象。

  • 变量
    允许计算机以一种动态型式来存储和操作数据;通过操作指向数据的指针,而非数据本身来避免内存泄漏。
    JavaScript通过关键字var来声明变量,变量名由字符、数字、下划线_或美元符$组成,推荐使用驼峰命名法:第一个单词首字母小写,以后每个单词首字母大写。

  • 变量初始化
    通常在Initialize变量时,为变量赋予一个初始值,可以避免不必要的错误(在分配存储空间时,变量所得到的空间中可能之前废弃的垃圾值)

  • 数值运算
    支持+-*/四则运算,%取余运算:在数学中通过对2取余判断一个数的奇偶。
    ++:自增运算,i++ <=> i = i + 1;
    --:自减运算,i-- <=> i = i - 1;=:赋值运算,将=`右边的值赋予等号左边的变量。赋值运算符的优先级低于算数运算

    +=-=*=/=复合运算符:
    myVar = myVar + 5 <=> myVar += 5;
    myVar = myVar - 5 <=> myVar -= 5;
    myVar = myVar * 5 <=> myVar *= 5;
    myVar = myVar / 5 <=> myVar /= 5

  • 字符串
    字符串是用单引号或者双引号包裹起来一连串的零个或多个字符。
    需要在字符串中使用''或者""时,使用反斜杠加上引号\'或者\"可以使引号变为字符串中的字符(转义)。
    常见转义字符
    \':单引号;
    \":双引号;
    \n:换行符;
    \r:回车符;
    \t:制表符;
    \b:退格;
    \f:换页符
    \\:反斜杠。


  • 字符串的+运算:
    连接+操作符左右的两个字符串,但是两个字符串之间的空格需要自己处理(在字符串中加空格);
    +操作符一侧操作数为数值型,另一侧为字符串,所得到结果为字符串,自动将数字转换为对应的字符。

  • 字符串的+=操作符:
    原理与数值型相同,同理需要注意空格。

  • 格式化处理字符串:
    使用+连接字符串与字符串变量。

var str = "Kyxy Tracy"
var myStr = "Hello " + str + ", is there something wrong with you?"
  • 字符串的方法:
    .length:返回字符串的长度(字符串中字符的个数);
    JavaScript中只有字符串类型,没有单独的字符型。通过字符串的索引来访问单个字符:myStr[index](索引从0开始计数)。
    字符串的最后一个字符:myStr[myStr.length-1]
    字符串的倒数第n个字符:myStr[myStr.length-n]
    字符串是不可变对象(immutable),一旦被创建不能被修改:字符串被赋值给变量后,存储空间中字符串的内容便不能被修改,但是可以重新为该变量赋值。(不可变的字符串的内容,字符串字面量String Literal)

  • 数组Array
    数组可以连续地在一处存储多个数据。
    定义一个数组:
var myArr = ["haha", 1, "xixi", 2, true];    //数组中可以存放不同数据类型的数据

数组的索引类似于字符串的索引,从0开始,访问方式相同。

  • 数组中的内容可以随意改变,通过myStr[n] = "wowo";为数组相应位置上元素赋值即可改变数组的内容。
    数组可以相互嵌套。

  • 数组的方法:
    .push(parameter1, parameter2...):将括号中的参数一次添加到数组的末尾;
    .pop():删除数组最后一个元素,并返回其值;
    .shift():删除数组的第一个元素,并返回其值;
    .unshift(parameter1, parameter2... ):将括号中的参数一次添加到数组的首部;

var myArr = [1, 2, 3, 4];    
myArr.push(5, 6);    //myArr变为[1, 2, 3, 4, 5, 6]
myArr.pop();  //返回6,并且myArr变为[1, 2, 3, 4, 5]
myArr.shift(); //返回1,并且myArr变为[2, 3, 4, 5]
myArr.unshift("a", false); myArr变为["a", false, 2, 3, 4, 5]

  • 函数Function:代码的重用
    定义:
function myFunction(parameter1, parameter2...) {
      console.log("Hello world!");    //myFunction是函数名,parameter是形参
}

使用myFunction(parameter1, parameter2...)来调用函数。定义函数时,parameter是形参,充当占位符。在调用函数时,传入的参数为实参。

  • 变量的作用域
    作用域是变量作用的范围,函数内部声明以及函数的参数均是局部变量;
    没有使用var关键字声明的变量(会被自动创建全局作用域),以及在函数外定义的变量是全局变量;全局变量可以在代码的任何地方被使用。建议声明变量时均使用var关键字。
  • 在同一程序中,名称相同的全局变量与局部变量,局部变量拥有更高的优先级。
  • 使用参数向函数中传入数据,使用return语句可以从函数中返回值,所以可以将函数的调用赋值给变量。

队列queue

queue是计算机科学中一种抽象的数据结构,队列中的条目都有秩序,新的条目被添加到队列的末端,旧的条目从队列的头部移出。
使用JavaScript实现队列:(数组是有秩序的)

  function queue(myArray, item) {    //myArray是一个数组,item是数组的一个元素
      myArray.push(item);         //将item添加到数组的尾部
      return myArray.shift();      //将myArray的头部第一个元素,并且返回其值
    }
testArr = [1, 2, 3, 4];
queue(testArr, 5);     //返回值为1,testArr变为[2, 3, 4, 5]
  • 布尔型boolean
    布尔型只有两个值,truefalse

if语句

if语句表明分支结构,当条件表达式成立时执行if语句内的程序块。

    if(statement) {    //当条件表达式为真时,执行code block;
        code block;    //代码块
    }
  • 条件表达式
    JavaScript中,条件表达式由比较操作符和操作符两边的操作数构成。
  • ==相等操作符:比较两边操作数,先转换为相同的数据类型,再比较是否相等;
  {
    1 == 1;     //true
    1 == "1";  //true
    1 == 2;    //false
    "3" == 3;  //true
}
  • ===全等操作符:

你可能感兴趣的:(Day04 JavaScript)