zoukankan      html  css  js  c++  java
  • JavaScript基础

    javascript 简介:

    JavaScript 是因特网上最流行的脚本语言,它存在于全世界所有 Web 浏览器中,能够增强用户与 Web 站点和 Web 应用程序之间的交互。

    jvavscript的组成:

    一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:

    DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。

    DOM 将把整个页面规划成由节点层级构成的文档。HTML 或 XML 页面的每个部分都是一个节点的衍生物

    DOM 通过创建树来表示文档,从而使开发者对文档的内容和结构具有空前的控制力。用 DOM API 可以轻松地删除、添加和替换节点。

    JavaScript基础

    1.javascript的导入方式

    直接编写:

    <script>

      alert('hello gu')

    </script>

    导入文件:

    <script src='hello.js'></script>

    2.1   js的变量

      1.声明变量时,不用什么变量类型,全部使用var关键字;

      var a;

      a=3;

      2.一行可以声明多个变量,并且可以是不容类型

      var name='gu';age='12';job='lect';

      3. 声明变量不用var,就是全局变量

      4,命名规则,首字符必须是字母,下划线或者$符号,区分大小写;

      Camel 标记法 首字母是小写的,接下来的字母都以大写字符开头。

        例如: var myTestValue = 0, mySecondValue = "hi";

      Pascal 标记法 首字母是大写的,接下来的字母都以大写字符开头。

      例如: Var MyTestValue = 0, MySecondValue = "hi";

      匈牙利类型标记法 在以 Pascal 标记法命名的变量前附加一个小写字母(或小写字母序列),  说明该变量的类型。

      例如,i 表示整数,s 表示字符串,如下所示“ Var iMyTestValue = 0, sMySecondValue = "hi";

      2.2 常量和 标志符

      常量:直接出现在程序中出现的数据值

      标志符:  

      1.不以数字开头的字母,数字,下划线_ 美元符号组成

      2.常用于函数,变量等名称,

      3.JavaScript语言中代表的特定能够含义的词为保留字,不允许再定义为标志符

      

    2.3 js的数据类型

      umber --数值

      boolean--布尔值

      string--字符串

      undefined---undefined

      null --null

    2.3.1 数字类型number

      var num=10;表示整数10

      var num=1.1;表示浮点数1.1

      var num=.1;表示0.1

      var num=10.0;解析成10

      var num=10.;小数点后面没有数字,解析成10

      不区分整形数值和浮点型数值;

      都采用64位浮点格式存储;

      

    整数;

         在JavaScript中10进制的整数由数字的序列组成
               精确表达的范围是
-9007199254740992 (-253) 到 9007199254740992 (253)
               超出范围的整数,精确度将受影响

    浮点数;

      使用小数点记录数据 ;3.4

      使用指数记录数据;4.3e23=4.3*10的23次 方

    16进制和8进制的表达:

      16进制数据前面加上0x,由0-9和aA-F16个字符组成,

      8进制前面加上0;0-78个字符组成

    2.3.2 字符串类型(string)

      由Unicode字符,数字,标点符号组成的序列;

      由单引号和双引号括起来;

    2.3.3布尔类型(Boolean)

      只有2个值True和false,代表1和0,运算中True=1,false=0

      可以看做on/off,yes.no ,1/0对应True/false

    2.3.4 null和undefined类型

      undefined类型只有一个值,既undefined,当声明的变量未初始化时,该变量的默认值就是undefined.

      函数没有返回值,返回的值也是undefined.

      null类型

      只有一个值的类型,undefined是null派生出来的,null是表示尚未存在的对象

      如果函数或方法返回的是对象,找不到该对象,返回null

    2.4 运算符

      算术运算符: +   -   *    /   %   ++   --

      var x=10;

      x+=1;是x的自增1操作

      x++;先赋值在计算

      ++x;先计算后赋值

      - 出了表示减号还可以表示负号

      + 除了表示jiafa,还可以用于字符串连接

      比较运算符: >   >=    <    <=    !=   ==    ===    !==

      === 是完全等于,如果字符串是数字可以和数字比较等值

      console.log(2==='2')

      逻辑运算符: &&  逻辑与     ||  逻辑或     ! 逻辑非

      var name='egon';

      var gender='male';

      if (name=='egon' && gender=='males'){

        console.log('success!')  }

       赋值运算符: =   +=    -=     *=    /=

      字符串运算符: + 连接,两边操作数有一个或两个是字符串就做连接运算

      NaN

      var d="gu";

      d=+d;

      alert(d);NaN是属于number类型的一个特殊值,当遇到字符串转成数字无效时,

    就会得到一个NaN数据

      alert(typeof(d));

    2..4.2 比较运算符

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

      if (2>1){

      console.log("条件成立!")

      等号==与非等号!==的同类运算符是全等号===和非全等号!==,

      只是在检测相等性前,不执行类型装换.

      }

      举例:

    var bResult = "Blue" < "alpha";
    alert(bResult); //输出 true  
    在上面的例子中,字符串 "Blue" 小于 "alpha",因为字母 B 的字符代码是 66,字母 a 的字符代码是 97。
    
    比较数字和字符串
    
    另一种棘手的状况发生在比较两个字符串形式的数字时,比如:
    
    var bResult = "25" < "3";
    alert(bResult); //输出 "true"
    上面这段代码比较的是字符串 "25" 和 "3"。两个运算数都是字符串,所以比较的是它们的字符代码("2" 的字符代码是 50,"3" 的字符代码是 51)。
    
    不过,如果把某个运算数该为数字,那么结果就有趣了:
    
    var bResult = "25" < 3;
    alert(bResult); //输出 "false"
    
    这里,字符串 "25" 将被转换成数字 25,然后与数字 3 进行比较,结果不出所料。
    
    总结:
    
    比较运算符两侧如果一个是数字类型,一个是其他类型,会将其类型转换成数字类型.
    比较运算符两侧如果都是字符串类型,比较的是最高位的asc码,如果最高位相等,继续取第二位比较.

      console.log(4 && 3);//3 && 与操作2个值都为非零,取最后的值
      console.log(0 && 3);//0 && 与操作2个值有1个是零,得到0,
      console.log(0 || 3);//3 || 或操作,2个值中有个0 ,取非0 的那个值
      console.log(2 || 3);//2 || 或操作,2个值中都是非0,取第一个值

    注意2:

    等性运算符:执行类型转换的规则如下:
    
    如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。 
    如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。 
    如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。 
    如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。 
    在比较时,该运算符还遵守下列规则:
    
    值 null 和 undefined 相等。 
    在检查相等性时,不能把 null 和 undefined 转换成其他值。 
    如果某个运算数是 NaN,等号将返回 false,非等号将返回 true。 
    如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等。 

    2.5 流程控制

      顺序结构(从上向下顺序执行)

      分支结构

      循环结构

    2.5.1顺序结构

      <script>

        console.log('1');

        console.log("2');

        console.log('9');

      </script>

    2.5.2分支结构

      if (表达式){

      语句1;

    .....  

    }

    else{

    语句2;

    }

    功能说明:如果表达式的值为True,则执行语句1,否则执行语句2

    var x=(new Date()).getDay();//获取今天的星期值,0 为星期天
    var y;
    if ( (x==6) || (x==0)){
    y="周末";
    }
    else{
    y="工作日";
    }
    console.log(y)

    if - elif - else 结构:

    var score=window.prompt('您的分数:');
    if(score>90){
    ret="优秀";
    }
    else if(score>80){
    ret="";
    }
    else if(score>60){
    ret="及格";
    }
    else{
    ret="不及格";
    }
    console.log(ret)

    switch-case结构

    switch基本格式
    switch(表达式){
      case 值1:语句1;break;
      case 值2:语句2;break;
      default:语句4;
    }
    举例:
       var z =2;
    switch (z) {
    case 1:y = "星期一";break;
    case 2:y = '星期二';break;
    case 3:y = "星期三";break;
    default: y = '未定义';
    }
    // alert(z)
    console.log(z)
    2.5.2循环结构

    语法规则:
    for(初始表达式;条件表达式;自增或自减)
    {
    执行语句.....
    }
    for循环的另一种形式:
    for(变量 in 数组或对象){
      执行语句.....
    }

    while循环
    while(条件){
    语句1;
    .....
    }

    var i=1;
    while (i<=7){
    document.write("<H"+i+">hello</H "+i+">");
    document.write("<br>");
    i++;
    }//循环输出h1 到h7的字体大小
    功能与for类型,当条件成立执行大括号内的语句,否则跳出循环,同样支持continue与break

    2.5.3异常处理

    try{

    //这段代码从长上往下运行,其中任何一个语句抛出异常就结束运行

    }

    catch(e){

    //try 代码抛出异常,catch代码就被执行,e是局部变量, 用来执行error对象或者其他抛出的对象

    }

    finally{

    //无论try 代码是否有异常抛出(甚至try代码中有return语句),finally代码都会执行

    注:主动抛出异常 throw Error('xxx')

  • 相关阅读:
    springmvc的注解式开发
    springmvc
    spring整合Mybatis
    spring的事务管理
    注解定义增强的两个方法
    动态代理
    错题解析
    SpringMVC的基本操作
    Spring整合MyBatis
    配置事务以及事务回滚
  • 原文地址:https://www.cnblogs.com/gyh04541/p/7301001.html
Copyright © 2011-2022 走看看