js总结

javascript的发展史

    1、1992年 ,Nombas 为自己的软件写一款脚本语言 C-- --》 ScritEase ,可以嵌入在网页中运行

    2、1995年 ,Netscape(网景) Navigator2.0 --> LiveScript --> Javascript ,Java 与 Javascript之间没有任何关系

    3、1996年 ,Microsoft 在 IE3.0 中发布 JS的克隆版 --> JScript

    4、1997年 ,Javascript 1.1 版本 作为 草案 提交给了 ECMA(欧洲计算机制造商联合会) ECMA-262标准 ECMAScript 作为 JS

javascript的组成:

    ECMAscript  Dom  Bom

javascript的语法

    1.在标签中写

       

    2.外部脚本文件

    1)、

    创建脚本文件并编写 脚本 脚本文件:***.js

    2)、引入外部脚本文件

   

注意:

    1、必须是成对的 script标签

    2、该对标记中,不允许出现任何于js无关的内容   

  3.注释

    1)、单行注释

    // 单行注释

    2)、多行注释

        /*

        * 多

        * 行

        * 内

        * 容

        */

    4.严格区分大小写

      console.log(""); 正确

      Console.log("");错误

变量和常量

    1.变量:内存中的一段存储空间

    2. 变量的声明:

    1)、声明

    var  变量名;

    2)、赋值

  变量名=值;

    3)、声明和赋值合一块

  var 变量名=值;

    4)、注意

    声明变量时可以不加 var

  var stuname="张三丰";== stuname="张三丰";

  如果省略了 var , 那么声明的就是"全局变量",有可能造成 "全局污染"

    5)、如果声明变量没有赋值的话,那么将自动赋值为 undefined

    3、一次性声明多个变量

    stuname,stuage,stugender

  var stuname;  var stuage;  var stugender;

一次性声明多个变量 使用一个 var , 多变量名之间 用 ,分隔

        var stuname,stuage,stugender;

    4.变量的命名规范

    1)、可以包含字母、数字、下划线、$

          var  +name; 错误 ,不能有 +

    2)、不能以数字开头

      var 1name; 错误 var name1; 正确

      var $name; 正确 var _name; 正确

    3)、尽量见名知意

      var a;

      var b,c,d,e,f,g,aab,aac;

      以上方式, 不推荐

      var username; var salary;

    5、可以采用 "匈牙利命名法","驼峰命名法","下划线命名法"

    1)、驼峰命名法

    如果 变量名 是由多个单词组成的名词,那么从第二个单词开始,每个单词的首字符变大写。

    var userName;      var userSalary;

    var stuJavaScore

    2)、下划线命名法

    var _userName;一般用于全局变量命名

    var user_name;

常量:一旦声明就不可以改变的值叫做常量  比如:1天=24小时    1小时=60分钟    太阳每天东升西落

    1.声明常量:

  1)声明常量用 const,常量名一般大写,声明常量必须赋值

  2)声明常量并赋值 const DAY=24;    const PI=3.14;

    数据类型:

    1.数字:number  整数和小数  var a=5;  var b=13.5; var c=0.5;

    2.字符串:string  只要有引号的都是字符串(单引号/双引号)

    var str='hello world';  var c='123';  var d="你好";

  3. 布尔:boolean

  只有两个值  true真  false假      var boo1=true;  var boo2=false;

var boo3='true';string

    var boo4='false';string

    布尔值在做运算的时候

    true会转换为1  false会转换为0 

    true+false=1      1+true=2

    4.undefined:定义的

    5.null 空

    6.object 对象

    声明一个变量没赋值会返回一个undefined

      var b;

      console.log(b);

  直接输出一个未声明的变量会报错 

    console.log(c)

隐式转换

1.number+number

        var a=3;

        var b=5;

        console.log(a+b);

2.number+string  拼接

        var a=3;

        var b='5';

        var c='hello world';

        console.log(a+c);

3.number+boolean

        var a=3;

        var b=true;

        var c=false;

        console.log(a+c);

        console.log(a+b);

4.string+boolean  拼接

        var a='3';

        var b=true;

        console.log(a+b);

5 number+undefined

        var a=3;

        var b;//undefined

        console.log(typeof(a+b));

        not a number

        不是一个数字

6.numberstring +undefined

        var a='3';

        var b;//undefined

        console.log(typeof (a+b));

总结:    number+string  拼接

        number+boolean      boolean转number

        number+undefined  NAN

        boolean+boolean    求和数据类型

        string加任何东西都是拼接

判断数据类型:

        typeof

数据类型:number

        isNaN:is  not a number

                  是 ,    不是一个数字

        作用:判断一个非数字    如果是数字返回false,如果不是一个数字返回true

        var a=3;

        var b='5';

        var c=true;

        console.log(isNaN(a));false

        console.log(isNaN(b));true

声明提前

        console.log(a);

        var a=3,

        js在执行的时候会自动把var提到标签顶部

        但是赋值不会被提到顶部

        所以就等于这是一个没有赋值的变量

        没有赋值的变量会返回  undefined

        var a;

        console.log(a);

        a=3;

显示转换/强制转换

parseInt();转换成整数

        var a='5';

          var b=parseInt(a);

          console.log(typeof a);

        console.log(isNaN(a));

        parseFloat();转换成小数

        var a='1.01';

        var b=parseFloat(a);

        console.log(b);

        console.log(typeof b);

Number();转换成number类型

      var a='5';

        var b=Number(a);

        console.log(b);

        console.log(typeof b);

toString();转换成字符串

      var a=true;

      var b=a.toString();

      console.log(b);

      console.log(typeof b);

toFixed();按要求保留小数位数

      var a=13.956;

      var b=a.toFixed(4);

      console.log(typeof b);

一、隐式转换结论

1、数字 + 字符串 :将数字转换成字符串

2、数字 + boolean :将 boolean 转换为 number类型

3、数字 + undefined :结果为 NaN,NaN的类型是 number

4、字符串 + boolean :将boolean 转换成字符串

5、boolean + boolean :都转换为number在做相加运算

注:NaN:not a number  判断一个非数字    如果不是一个数字返回true,如果是一个数字返回false

      案例: var str="hello world";

                    var str1=isNaN(str);

                    console.log(str1);

二、显示转换/强制转换

      1.toString()  将任意类型转换为字符串类型

              var  num=5;

              var str=num.toString();

              console.log(typeof str);

      2.parseInt(); 将一个数据转换为整数

              var  num=5.5;

              var str=parseInt(num);

              console.log(str);//5

              console.log(typeof str);//number

      3.parseFloat()  将一个数据转换为小数

              var  num=.5;

              var str=parseFloat(num);

              console.log(typeof str);//0.5

              console.log(typeof str);//number

        4.Number  将一个数据转换为number类型

              var str="35.5你好";

              var str1=Number(str);

              console.log(str);

三、运算符和表达式

        1.算数运算符

          + , - , * , / ,

        %:模,计算两个相除的数字的余数

        10 % 3 = 1

        10.5 % 3 = 1.5

                  ...

    ++,-- 运算符,单目运算符

    ++:自增加一

    ++在前 :先自身加一,在赋值

    var a=5;

    var b=++a;

    //先把a的值自增+1

    //再把自增后的赋值给b

    ++在后 :先赋值,在自增加一

    var a=5;

    var b=a++;

    //先把a的值赋值给b

    //再自增加一

    --:自减减一

    --和++的性质一样

四舍五入:toFixed(保留位数);

案例:

    var a=3.1415;

  var b=a.toFixed(2);

  document.write(b);

    由算术运算符组成的表达式,叫算术表达式

    var a;

    var b;

    var c = a + b; //算术表达式,赋值表达式

2、关系运算符

      1、作用

            判断数据之间的大小或相等关系

      2、关系运算符

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

由 关系运算符所组成的表达式 称之为 关系表达式,关系表达式的值为boolean类型

            ==,!= : 只判断数值是否相等

            全等:===    :类型相同 数值相同

          不全等:!==

      3、逻辑运算符

      1、作用

            判断多条件 以及 条件取反时使用

      2、语法

          1、逻辑    非

            对现有条件 取反

          语法:!

            2、逻辑    与

            有两个条件,两条件同时为真时,表达式才为真。

          语法:&&

      3、逻辑    或

          有两个条件,只要有一个为真,表达式就为真

          语法:||

      4、运算结果

            true && true : true

          true && false : false

          false && true : false

          false && false :false

          true || true : true

          true || false :true

          false || true : true

          false || false :false

      5.条件运算符(三目运算符)

      1、语法 ? :

      表达式1?表达式2:表达式3;

      表达式1,值应该为 boolean 类型

      如果表达式1的值为true,那么表达式2的值则作为整个表达式的值

      如果表达式1的值为false,那么表达式3的值则作为整个表达式的值

      ex :输入考试成绩,如果成绩大于等于60 ,则输出及格,否则输出 不及格

      var a=prompt("请输入你的成绩");

      if(a>=60){

      alert("及格");

      }else{

      alert("不及格");

      }

一:运算符和表达式

        一、流程控制语句

        1.

        if(条件){

          //要执行的语句

          }

        2.

          if(条件){

    //条件为true时执行的语句

          }else{

    //条件不为true时执行的语句

          }

          3.多重条件语句

          if(条件){

          }else if(){

            }

          4.switch .....case

            switch(变量){

          case 情况1:

          //要执行的语句;

          break;

          case 情况2:

          //要执行的语句;

          break;

          case 情况3:

          //要执行的语句;

          break;

          default://以上任何一块都没匹配上的时候

          //要执行的语句;

          break;

            }

            用switch .....case完成以下练习

              请输入今天星期几,

              星期一:亿万富翁

              星期二:千万富翁

              星期三:百万富翁

              星期四:暴发户

              星期五:底商户

              星期六:平民

              星期日:乞丐

        否则:不管饭,自己解决

        var a=prompt("星期几")

        switch(a){

        case"星期一":

        alert("亿万富翁");

        break;

        case"星期二":

        alert("千万富翁");

        break;

        case"星期三":

        alert("百万富翁");

        break;

        case"星期四":

        alert("暴发户");

        break;

        case"星期五":

        alert("底商户");

        break;

        case"星期六":

        alert("平民");

        break;

          case"星期日":

        alert("乞丐");

        break;

        else:

        alert(什么都不是");

        break;

        }

        switch .....case直落形式

        //意思就是:不管是哪种情况都做相同的事

          switch(){

        case 情况1:

        case 情况1:

        case 情况1:

        case 情况1:

        case 情况1:

            //要执行的语句

            break;

          }

你可能感兴趣的:(js总结)