美文网首页
JavaScript基础语法

JavaScript基础语法

作者: 小努努努力 | 来源:发表于2019-05-07 12:19 被阅读0次

    js是从上到下,从左到右执行的

    一:变量

    1.命名规则:必须由字母,下划线,数字和$符号组成,不能以数字开头。

    2.不能是关键字和保留字。例如: for,while.

    3.区分大小写的

    4.命名规范:名字必须有意义,遵守驼峰命名法,首字母小写,后面单词的首字母要  大写,例如:         userName userPassword

    例:var age = 18;


    二:数据类型

    简单数据类型:Number String Boolean Undefined Null

    Number类型:

    十进制: 0-9 例:var num = 10; 

    十六进制: 0-9  A-F A=10 B=11,C=12,D=13,E=14,F=15.例:var num = 0xA;

    八进制:基础数字:0-7 例:var num = 010;

    浮点数:var n =5e-324; //科学计数法 5乘10的-324次方。

    浮点数最高精度是17位小数,不要判断两个浮点数是否相等。

    浮点数最大值 :Number.MAX_VALUE ,值为:1.7976931348623157e+208

    浮点数最小值Number.MIN_VALUE。值为5e-324

    无穷大:Infinity 无穷小:-Infinity


    String类型:

    var msg = '好好学习'  var ,msg = "好好学习"

    单引号和双引号不能混用。

    \n 换行

    \t 制表

    \b 空格


    Boolean类型:

    true和false,区分大小写

    计算机内部存储:true为1,false为0;


    Undefined Null:

    1.Undefined表示一个声明了没有赋值的变量,变量只声明的时候值默认是Undefined

    2.Null表示一个空,变量的值如果为null,必须手动设置。如果一个变量的值是null,说明变量是有值的,是空。 

    复杂数据类型:Object


    三:获取变量的类型

    typeof

    例:var age = 18;

    var name = 'wyn';

    console.log(typeof age);  //Number类型

    console.log(typeof name); //string类型

    var result = typeof name;

    console.log(typeof result);//typeof返回的结果是string


    四:字面量

    在源代码中一个固定值的表示法。

    数值字面量:8,9,10

    字符串字面量:‘好好学习’,“好好学习”

    布尔值字面量:true,false


    五:注释

    单行注释:  //被注释的单行内容

    多行注释: /* 被注释的多行内容*/


    六:数据类型转换

    谷歌浏览器内,字符串颜色是黑色的,数值和布尔类型颜色是蓝色的,Undefined和Null是灰色的。

    转换成字符串类型:

    1: toString()方法

    var num = 18;

    var isRight = true;

     console.log(typeof num.toString());

    console.log(typeof isRight.toString());   //  用typeof获取类型,用toString转换为字符串

    2:string()方法

    null和Undefined无法使用toString方法,var a = null; console.log(a.toString());报错,不能读取属性

    var num = 18;

    var isRight =true;

    console.log(String(num));//转换为字符串

    console.log(String(isRight));

    3:字符串拼接转换方法

    var num = 18;

    var isRight = true;

    console.log(typeof (num + ' ')); //里面加小括号改变运算顺序,优先执行小括号内部内容。

    console.log(typeof (isRight + ' '));

    其他类型转换为数值类型:

    1:Number()方法

    Number()把任意值转换为数值

    var str = 'abc';

    var isRight = true;

    console.log(Number(str));  //返回结果是NaN,不是一个数字

    console.log(Number(isRight));  //返回结果:1,计算机true是1

    console.log(Number('123')); //字符串123转换为数字123;

    console.log(Number('123abc')); //Number()吧字符串转换成数值类型的时候,如果字符串中有一个字符不是数字,返回NaN。

    2:parseInt()方法,parse是解析,把变量解析为int,int是整数的意思。

    parseInt()无法转换小数,到小数点结束

    var str = '123';

    var isRight = false;

    console.log(parseInt(str));//字符串123转换为数字123;

    console.log(parseInt(isRight));//paresInt无法把布尔类型转换为数值类型。返回NaN

    var s1 = 'abc';

    console.log(parseInt(s1));//返回NaN,paresInt无法把字符串转为数值。

    var s1 = '123abc';

    console.log(parseInt(s1)); 返回123,parseInt在转换字符串时候,如果遇到数字就会转换数字,如果遇到非数字就会返回。

    var s2 = 'abc123';

    console.log(paresInt(s2)); //返回NaN,如果字符串第一个值是非数字,返回NaN.

    3:parseFloat()方法 

    parseFloat()把数值转化为浮点数。

    var str = '123.67';

    var isRight = true;

    console.log(paresFloat(str)); 

    console.log(paresFloat(isRight)); //返回NaN,无法转换布尔类型。

    var str = '123.12.123abc';

    console.log(parseFloat(str)); //解析到第一个点,第二个点无法解析。

    4:取正或者取负; + -

    var num = -5;

    console.log(num);

    var str = '123';

    console.log(+str); //返回123,-号返回-123

    字符串如果是123abc返回NaN.可以转换布尔类型。

    转换成布尔类型Boolean()

    Number和null转换后为false

    转换后为false的情况:null undefind ' '空字符串 0 NaN五种情况

    其他转换为true.


    七:操作符

    算数运算符:

    + - * / % 加 减 乘 除 取余数

    var x = 5; var y = 10;

    console.log(x + y);

    console.log(x / y);

    console.log(x * y);

    console.log(x % y) //输出5

    console.log(x / 0) //无穷大

    console.log(x % 0) //NaN

    一元运算符:

    只有一个操作数的运算符是一元运算符。有两个操作数的运算符叫作二元运算符(如:5+6)

    前置++  自身加1  :++5

    var num = 5; console.log(++num) //5自身+1输出6。++num先让自身+1,然后再返回表达式的结果。

    var num1 = 7;

    console.log(num + ++num1); //前置++先自身加1再参与运算,输出6+8=14

    前置--同前置++

    后置++  :5++ 

    先返回表达式的结果num,然后再对num自身加1

    var num = 5;

    console.log(num++);//先返回num结果5,然后在对num自身加1,所以输出5

    console.log(num); //自身加1之后才会输出6

    var num1 = 7;

    console.log(num + num1++); //num返回6+num17=13;

    console.log(num1); //表达式输出完之后num1+1,执行结果是8.

    例:

    var a = 1; var b = ++a + ++a; console.log() //++a先执行自身+1,然后再返回表达式的结果,第一个a是2,第二个++a在第一个++a基础上再+1,是3,所以输出2+3=5;

    var a =1; var b = a++ + ++a; console.log(b);//a++先返回表达式结果1,再执行+1,a++返回结果之后是2,++a在2基础上再+1,所以输出1+3=4

    var a = 1; var b = a++ + a++; console.log(b);//输出1+2=3

    var a = 1; var b = ++a + a++; console.log(b);第一个a先返回表达式结果是2,第二个a返回表达式结果2运算,输出2+2=4;

    逻辑运算符:(布尔运算符)

    &&(逻辑与):两个操作数同时为true,结果为true,否则都是false,与是并且的意思。是二元运算符

    例:var a =true; var b =true; console.log (a && b ); //a等于ture并且b等于true时结果才是true.

    || (逻辑或):两个操作符有一个为true,结果为true,否则为false,或是或者的意思。 是二元运算符

    例:var a =true; var b =true; console.log (a || b ); //a或者b有一个为true,结果就为true,两边都为false时结果才为false.

    ! (逻辑非) :取反 是一元运算符

    var a = true; console.log ( !a )//对a进行取反,输出结果是true.

    关系运算符:(比较运算符)

    < > >= <= == != === !== 

    < > >= <=是比较大小的

    var a = 10; var b = 5; 

    console.log(a > b)//返回true console.log(a < b)//返回false

    = != === !== 是比较相等的

    console.log ( a == b );//输出false

    console.log( a !=b);a不等于b,输出true

    -------------------------------------------------------------

    var a = 10; var b = '10';

    console.log (a == b);//输出true,先把字符串10转换为数值再判断,两个等号是判断值是否相等。

    console.log(a === b);//输出false,三个等号先判断类型是否一致,类型不一一致为fase,只有值和类型都一致才返回true.

    !=不等于,只要判断值不相等就返回true,

    !==,判断值和类型都不相等才会返回true

    赋值运算符

    = += -= *= /= %=

    var num = 5; // 把5这个常亮赋值给变量num

    vae num1 = num * 5; //把运算的结果赋值给num1

    num1 +=5;num1 -=5;//简化

    运算符优先级

    优先级从高到低

    1. ( ) 优先级最高

    2.一元运算符 ++ -- !

    3.算数运算符 先* / %,后+ -

    4.关系运算符 > >= < <=

    5.相等运算符 == != === !===

    6逻辑运算符 先&& 后||

    例1:4 >= 6 || '人' != '阿凡达' && !(12 * 2 == 144) && true    //返回true

    例2:var num = 10;

    5 == num / 2 && (2 + 2 * num).toString() === '22'  //返回true

    八:流程控制

    顺序结构

    代码从上到下依次执行就是顺序结构

    分支结构

    根据不同情况,执行对应代码

    if (/*表达式条件*/){

    //执行语句

    }else{

    //执行语句

    }

    三元运算符:表达式1 ? 表达式2 : 表达式3

    switch语句里面相等性判断是===,判断值和类型是否相等。如果不加break会有穿透效果。

    循环结构

    重复做一件事情

    三种:while, do-whild, for

    while语句:当循环条件为true时,执行循环体,为false时,结束循环。

    while (循环条件) {

    // 循环体

    }

    for(初始表达式1;条件表达式2;自增表达式3){

    //循环体

    }

    九:数组

    数组可以存储很多项,有顺序,很多项形成一个集合Array是一个数组 的字面量。

    var names = ['zs', 'ls', 'ww','zl',‘ ’,‘123’];  //' '里面不算长度

    console.log ( names [0] ); //获取第一项

    console.log ( names [1] ); //获取第二项值

    console.log ( names [111] ); //不存在的索引返回undefined

    用索/下标可以获取数组中的数据。数组中的索引是从0开始

    数组中存储的数据类型可以不一致,可存储任意类型

    console.log (names.length)//获取数组长度

    console.log ( names [0] )//获取数组中第一个元素

    console.log ( names [names.length - 1] );  //数组名.length-1可以获取数组中最后一个元素

     names[0] = 'xxx' 修改数组中的第一个元素,根据下标修改。

    names[6]='xxx修改不存在的数组,会给数组增加一项。

    names[222]='xxx'; 给数组动态加入值,跳过的值是undefined

    获取数组中的每一项(遍历数组)

    for (var i = 0; i < nams.length; i++ ) {

    console.log(names[i]);

    }

    反向遍历数组

    for (var i = names.length - 1; i >=0; i-- ) {

    console.log (names[i] )}

    给空数组加值

    var scrores = [];

    for (var i =0;i < 10;i++) {

    scores[i] = i;

    }

    console.log(scores);

    清空数组:scores.length = 0;


    相关文章

      网友评论

          本文标题:JavaScript基础语法

          本文链接:https://www.haomeiwen.com/subject/wfreoqtx.html