js总结

javascript的发展史

    1、1992年 ,Nombas 为自己的软件写一款脚本语言 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.在<script></script>标签中写

        <script>

    代码

  </script>

    2.外部脚本文件

    1)、

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

    2)、引入外部脚本文件

    <script src="脚本文件路径"></script>

注意:

    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;

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

        not a number

        不是一个数字

6.numberstring +undefined

        var a='3';

        var b; 

        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);   

              console.log(typeof str);

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

              var  num=.5;

              var str=parseFloat(num);

              console.log(typeof str);

              console.log(typeof str);

        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;

        else:

        alert("不管饭,自己解决");

        break;

        }

        switch .....case直落形式

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

          switch(){

        case 情况1:

        case 情况1:

        case 情况1:

        case 情况1:

        case 情况1:

                要执行的语句

            break;

          }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350