zoukankan      html  css  js  c++  java
  • javascript的数据类型,运算符和流程控制

            javascript的概念         

    javascript描述的是网页的行为。一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:
    ECMAScript:JavaScript的语法标准。包括变量、表达式、运算符、函数、if语句、for语句等。
    DOM:指文档对象模型,操作网页上的元素的API。比如让盒子移动、变色、轮播图等。
    BOM:操作浏览器部分功能的API。比如让浏览器自动滚动。

      1.javascript的引入方式 

    1.Script标签内写代码
    <script>
    // 在这里写你的JS代码
    </script>
    2.引入额外的JS文件
    <script src="myscript.js"></script>

       2.JavaScript的特点     

    (1)简单易用:可以使用任何文本编辑工具编写,只需要浏览器就可以执行程序。
    (2)解释执行(解释语言):事先不编译、逐行执行、无需进行严格的变量声明。
    (3)基于对象:内置大量现成对象,编写少量程序可以完成目标

      3.JavaScript的注释:  

    单行注释:// 我是注释
    多行注释: /*多行注释1*/
    sublime中,单行注释的快捷键是ctrl+/,多行注释的快捷键是ctrl+shift+/
    JavaScript中的语句要以分号(;)为结束符。

        4.变量声明:    

    1.在JavaScript中,永远都是用var来定义变量
    2.JavaScript的变量名可以使用_,数字,字母,$组成,不能以数字开头
    3.一行可以声明多个变量.并且可以是不同类型.
    var name="jerd",age=20,hobby="basketball";

    5.JavaScript在网页中输出信息的写法:

    1.弹出警告框:alert("")
    2.控制台输出:console.log("") console表示“控制台”,log表示“输出”。
    3.用户输入:prompt()语句
    <script type="text/javascript">
        var a = prompt('今天是什么天气?');
        console.log(a);
    </script>
    上方代码中,用户输入的内容,将被传递到变量 a 里面。
    prompt()语句中,用户不管输入什么内容,都是字符串。
    alert和prompt的区别:
    alert("从前有座山");                //直接使用,不需要变量
    var a = prompt("请输入一个数字");   // 必须用一个变量,来接收用户输入的值

        javascript的数据类型   

    
    

       数字类型Number  

    Number:JavaScript不区分整型和浮点型,就只有一种数字类型
    var a = 123;
    //typeof 检查当前变量是什么数据类型
    console.log(typeof a)
    NaN,表示不是一个数字,该属性用于指示某个值不是数字。
    parseInt("123")  // 返回123
    parseInt("ABC")   //NaN

      布尔类型Boolean  

    区别于Python,true和false都是小写。
    var a = true;
    var b = false;
    ""(空字符串)、0、null、undefined、NaN都是false。

       字符串String  

    var a = "Hello"等同于 var a=String("hello") 不加引号会报错
    如果值为数字,可不加引号
     字符串拼接:
    ar a = "Hello"
    var b = "world;
    var c = a + b; #用+作字符串的连接
    console.log(c);  // 得到Helloworld
    
    
    var name="伊拉克
    var am = '美军';
    // 字符串拼接
    var str = "2003年3月20日,"+name+"战争爆发,以美军为主的联合部队仅用20多天就击溃了萨达姆的军队。这是继十多年前的海湾战争后,"+am+"又一次取得的大规模压倒性军事胜利。"
    var fullStr = str;
    console.log(fullStr)
    #2003年3月20日,伊拉克战争爆发,以美军为主的联合部队仅用20多天就击溃了萨达姆的军队。这是继十多年前的海湾战争后,美军又一次取得的大规模压倒性军事胜利。
    常用方法:
    1.length 返回长度
    a=" jerd jerry ";
    console.log(a.length);#12
    2..trim()移除两端空白。不能自定义
    console.log(a.trim()); #jerd jerry
    .trimLeft()去除左边的空白 console.log(a.trimLeft());
    .trimRight()   移除右边的空白
    3..charAt(n)返回第n个字符
    console.log(a.charAt(2)); #e
    4..concat(value, ...)  拼接 
    console.log(a.concat(888)) # jerd jerry 888
    5..indexOf(substring, start)子序列位置。显示字符串中第一个元素所在的位置
    console.log(a.indexOf("je")); #1
    console.log(a.indexOf("jerd")); #1
    6..substring(from, to) 根据索引获取子序列
    console.log(a.substring(0,6)); #jerd
     ##第二个参数为负数时,相当于显示第一个参数之前的索引对应元素
    console.log(a.substring(0,-1)); #为空
    console.log(a.substring(5,-1)); #jerd
    7..slice(start, end)   切片
    # console.log(a.slice(0,6));#jerd 
    console.log(a.slice(0,-1)); #jerd jerry
    # console.log(a.slice(5,-1));#jerry
    c.slice(3,1); ""
    8..toLowerCase()小写 toUpperCase()   大写
    # console.log(a.toUpperCase(5,-1));JERD JERRY
    9..split(delimiter, limit)分割
    c=" jerry jerd ";
    c.split(" "); ["", "jerry", "jerd", ""]
    如果设定切割个数,则只显示分割处之前的元素
    console.log(a.split(" ",1)); #[""]
    console.log(a.split(" ",2));#["", "jerd"]
    注意substring和slice的区别:
    两者的相同点:
    如果start等于end,返回空字符串
    如果stop参数省略,则取到字符串末
    substirng()的特点:
    如果 start > stop ,start和stop将被交换
    如果参数是负数或者不是数字,将会被0替换
    slice()的特点:
    如果 start > stop 不会交换两者。值为空
    如果start小于0,则切割从字符串末尾往前数的第abs(start)个的字符开始(包括该位置的字符)
    如果stop小于0,则切割在从字符串末尾往前数的第abs(stop)个字符结束(不包含该位置字符)

      null和undefined   

    null:
    var c1 = null;//空对象. object
    console.log(c1) #null
    console.log(typeof c1) #object
    #undefined
    undefined
    var d1  //表示变量未定义
    console.log(typeof d1)
    null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null;
    undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。还有函数无明确的返回值时,返回的也是undefined。
    null表示变量的值是空,undefined则表示只声明了变量,但还没有赋值。
    
    

       类型查询   

    typeof "abc"  // "string" #字符串类型
    typeof true  // "boolean" #布尔类型
    typeof 123 // "number" #数字类型
    var a  console.log(typeof a) //undefined - 如果变量是 Undefined 类型的
    object - 如果变量是一种引用类型或 Null类型的(数组也是此类型)
    typeof null  // "object"
    a=[11,12,14];
    console.log(typeof a); #object
    typeof是一个一元运算符(就像++,--,!,- 等一元运算符),不是一个函数,也不是一个语句。

      类型转换  

    1.Number ----->> String
    隐式转换:
    var n1 = 123;
    var n2 = '456';
    var n3 = n1+n2;
    console.log(n3) 123456
    console.log(typeof n3) //string
    强制类型转换String(),toString()
    var a=123
    var b=String(a)
    console.log(typeof b) #string
    console.log(a.toString())
    2.String ----->>Number
    Number(str)和parseInt(str)
    1.var a="123";
    var b=Numner(a)
    typeof b; //"number"
    2.字符串中有非数字元素时,值为NaN
    var c="1234nhjk";
    var d=Number(c);
    d;  //NaN
    typeof d; //"number"
    3.parseInt()可以解析一个字符串有非数字元素时自动舍去 并且返回一个整数
    e=parseInt(c)  //1234
    var  stringNum = '789.123wadjhkd';
    console.log(parseInt(stringNum)) //789
    console.log(parseFloat(stringNum)); //789.123
    3.任何数据类型都可以转换为boolean类型
    console.log(Boolean(变量))
    
    

       javascript的运算符    

    1.算数运算符

    + - * / % ++ --

    2.赋值运算符

    = += -= *= /=

    3.比较运算符

    > >= < <= != == === !==
    ==只比较值,不比较类型
    ===值和类型都相等
    console.log( 2>"1"); #true
    console.log( 2>"ab");#false
    1 == “1// true
    1 === "1"  // false

    4.逻辑运算符

    && 相当于and
    || or
    ! not

         javascript的流程控制    

      if-else  

    if (a>6){
    console.log("The ending is good");
    }else {
    console.log("The ending is bad");
    }
    # The ending is bad

      if else-if else  

    if (a>6) {
    console.log("The ending is good");
    }else if(a>4) {
    console.log("The ending is just soso")}else {
    console.log("The ending is bad");
      }
     # The ending is just soso

    switch case

    var a=5;
    switch(a) {
        case 0:console.log("The ending is C");
        break;
        case 1:console.log("The ending is B");
        break;
    case 5:console.log("The ending is A");
        break;
        default:console.log("The ending is bad");
    }
    #The ending is A

    逻辑与&&、逻辑或||在if中的使用

    if(sum>400 && math>90){
        console.log("A")
    }
    if(sum>400 || math>90){
        console.log("B")
    }

       for  

    for (var i=0;i<10;i++) {
      console.log(i);
    }
    用for(b in li) b为索引,并不是具体的值
    var b;
    li=[1,2,3];
    for(b in li){
    console.log(li[b]);
    }

      while  

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

    三元运算

    var a = 1;
    var b = 2;
    var c = a > b ? a : b #如果结果为真,就执行a 否则执行b
  • 相关阅读:
    东边日出西边雨
    ZooKeeper学习(一)了解ZooKeeper
    linux学习(七)文件打包和压缩命令
    linux学习(六)Linux yum 命令
    linux学习(五)Linux 文件与目录管理
    linux学习(四)Linux 文件基本属性
    linux学习(三)Linux 系统目录结构
    linux学习(二)认识Linux
    linux学习(一)认识阿里云
    多线程实战【面试题形式】
  • 原文地址:https://www.cnblogs.com/zgf-666/p/9184648.html
Copyright © 2011-2022 走看看