JavaScript学习笔记——变量,变量类型,运算符,语句—day one

目录

一、浏览器

二、JS基本语法:

1、变量

2、变量类型

值类型(基本类型)

引用类型

类型转换

typeof操作符

3、运算符

算术运算符

关系运算符

逻辑运算符

4、语句

条件语句

循环语句

跳转语句


一、浏览器

浏览器的组成:shell部分(可视部分)

                         内核部分(渲染引擎,JS引擎,其它部分)

浏览器是如何工作的

主流浏览器及内核

二、JS基本语法:

基本语法规则:

每条语句以分号(;)结尾

JS语法错误会引发后续代码块终止,但不会影响其它JS代码块

书写格式要规范,“= + - /”等运算符两边都应该有空格

js引入方式:外部js文件和内部js。不能同时外部JS又内部js。同时引用内部js会失效。

1、变量

可变的量,用来存储数据,声明,赋值。

var单一变量。

命名规则:

1.可以包含英文字母、数字、_、$;

2.开头只能是英文字母、_、$;

3.不能包含保留字(如var有特殊语法含义)

2、变量类型

值类型(基本类型)

字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。

布尔型只有两个值,ture和false。

Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。

NaN:not a number(不是一个有效数字,但它属于number数据类型) 。

表面上 undefined 与 null 都是什么都没有的意思,但是实际上 undefined 是未定义(就是变量没有初始化),null 是一个变量初始化了,但是什么值都没给,只给了一个空对象;进一步说,undefined 与 null是值相等,类型不相等。

引用类型

对象(Object)、数组(Array)、函数(Function)。

类型转换

强制转换

利用js提供的函数parseInt() ,parseFloat() ,Number(),Boolean()进行数据转换,每个函数具体有很多用法,使用前先百度。

parseInt("12.3元")//12

 parseInt("abc");//NaN

 parseFloat("12.35元")//12.35

 parseFloat("12.23.122");//12.23

 Number(true);//1

Number(null);//0

Boolean("abc");//true

 Boolean('');//false

隐式类型转换

字符串和数值类型之间的转换,在进行字符串和数字之间进行减乘除取模运算或者进行比较运算时,他会自动把字符串转换为数字。

typeof操作符

可用来查看 JavaScript 变量的数据类型。

typeof NaN                    // 返回 number
typeof false                  // 返回 boolean
typeof [1,2,3,4]              // 返回 object

typeof myCar                  // 返回 undefined (如果 myCar 没有声明)

typeof new Date()             // 返回 object
typeof function () {}         // 返回 function

3、运算符

优先级:

算术运算符 > 关系运算符 > 逻辑运算符

算术运算符

①  “+”

   1.数学运算,字符串连接

    2.数据类型加字符串都等于字符串

② “/”

    1/0结果为infinity(正无穷)   -1/0结果为-infinity(负无穷)  0/0 结果为NAN (not a number不是一个数)

③   “-”、“*”、“%”(摩尔,取余)、“=”(优先级最低)、“()”(括号优先级最高)

④   “a+=10” 

      a=a+10的简写

⑤  “a++” 

     先执行当前所在语句,再a+1赋值给a,再执行下一条语句。“a--”同理

⑥  “++a” 

      先把a+1赋值给a,再执行当前所在语句。b=--a+--a;最后b的值为-1,因为每次--a都是在当前改变了的a基础上。

关系运算符

 <    <=    >     >=    ==    !=    ===      字符串比较大小比较的就是ascl码顺序。

逻辑运算符

(&&与、||或、!非)优先级是:!、&& 、||  。

4、语句

条件语句

通过判断表达式的值来决定执行还是跳过某些语句,包括if语句和switch语句。

if语句  

条件必须放在if后面的圆括号内,条件的求值结果永远是一个布尔值,即只能是true或false。

if(1>2){
    alert('1');
}

如果if语句中的花括号部分只包含一条语句,可以不使用花括号。但因为花括号可以提高脚本的可读性,所以在if语句中总是使用花括号是个好习惯。

if(n == 1){
    //代码1
}else if(n == 2){
    //代码2
}else if(n == 3){
    //代码3
}else{
    //其他代码
}

可以用if语句的嵌套形式来完成在语法上等价的代码,但没有else if语句清晰

if(n == 1){
    //代码1
}else{
    if(n == 2){
        //代码2
    }else{
        if(n == 3){
            //代码3
        }else{
           //其他代码
        }
    }
}

switch语句

当所有的分支都依赖于同一个表达式的值时,else if并不是最佳解决方案。在这种情况下,重复计算多条if语句中的条件表达式是非常浪费的做法,而switch语句正适合处理这种情况。不一定为123,可以为ture,a等等,满足哪个执行哪个。

//等价于
switch(n){
    case 1:
        //代码1
        break;
    case 2:
        //代码2
        break;
    case 3:
        //代码3
        break;
    default:
        //代码4
}

如果代码块123相同可省略。

switch(n){
    case 1:
    case 2:
    case 3:
        //代码3
        break;
    default:
        //代码4
}

循环语句

条件语句把javascript中的代码变成一条条的分支路径,而循环语句(looping statement)就是程序路径的一个回路,可以让一部分代码重复执行。

3种循环语句:while、do/while、for。

while语句

满足条件再执行循环体。

var count = 0;
while(count < 10){
    console.log(count);
    count++;
}

while(true)会创建一个死循环

do/while语句

先执行循环体,再判断条件,也就是至少会执行循环主体一次。用分号结尾。

do{
    console.log(a[i]);
   }while(++i<len);

for语句

具有特定的计数器变量,计数器的三个关键操作是初始化、检测和更新。

var count = 10;
var i;
for(i = 0; i < count; i++){
    console.log(i);
}
for(i = 0,j =10; i<10; i++,j--) sum+= i*j;可以改变多个变量。
for(;;)和for(i = 0; ; i++)是死循环。

跳转语句

包括break、continue和return语句。

break语句

只有出现在循环语句或switch语句中才合法,出现在其他语句中会报错。作用是立即退出最内层的循环或switch语句。

for(var i = 0; i < a.length; i++){
    if(a[i] == target) break;
}

continue语句

和break语句非常类似,但它不是退出循环,而是转而执行下一次循环。

continue语句带不带标签,它只能在循环体内使用。在其他地方使用将会报语法错误。

return语句

指定函数调用后的返回值,只能出现在函数体内,如果不是会报语法错误。当执行到return语句时,函数终止执行,并返回值给调用程序。

return x*y.

猜你喜欢

转载自blog.csdn.net/qq_38395419/article/details/83894213