前端基础之JavaScript

一.javascript的引入方式

  1.直接编写

  <script>js 代码 </script>,放在head标签之间

  2.外部导入:<script src="xxx.js"></script>

二.js 变量 、常量、 标识符

  变量:

  1.声明变量(如果不用var,则是全局变量)  var  变量名;

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

   var  age=5,name="song",job="teacher";

  3.变量名首字符只能是字母,下划线,$,余下的字符可以是下划线、美元符号或任何字母或数字字符,且区分大小写.

  常量与标识符:

  1.直接在程序中出现的数据值

  2.由不以数字开头的字符、数字、下划线、$组成

  3.常用来表示函数名、变量等

三.js 数据类型

  1. num---数值

     boolean----布尔值

     string----字符串

     undefined----undefined(变量未赋值或者函数没返回值时)

     null---null

  2.num:

   整型浮点型统称为数值型

     整型:精确表示的范围是-9007199254740992 (-253) 到 9007199254740992 (253),超出范围精度将受影响

   浮点数:

     3.6,3.8 

      16进制和8进制数的表达:
          16进制数据前面加上0x,八进制前面加0;16进制数是由0-9,A-F等16个字符组成;8进制数由0-7等8个数字组成

          16进制和8进制与2进制的换算:

2进制: 1111 0011 1101 0100   <-----> 16进制:0xF3D4 <-----> 10进制:62420
2进制: 1 111 001 111 010 100 <-----> 8进制:0171724

  3.字符串(string)

   4.布尔类型有两个值ture和false,分别代表1和0,实际运算中ture=1,false=0

   5.null 用于表示尚未存在的对象,如果函数或方法要返回的是对象,那么找不到对象时,返回值是null 

四.运算符

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

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

逻辑运算符:
     &&   ||   !

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

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

  注意:

     NaN

 var d="yuan";
    d=+d;
    alert(d);//NaN:属于Number类型的一个特殊值,当遇到将字符串转成数字无效时,就会得到一个NaN数据
    alert(typeof(d));//Number

    //NaN特点:
    
    var n=NaN;
    
    alert(n>3);
    alert(n<3);
    alert(n==3);
    alert(n==NaN);
    
    alert(n!=NaN);//NaN参与的所有的运算都是false,除了!=

  比较运算符: 

比较运算符两侧如果一个是数字类型,一个是其他类型,会将其类型转换成数字类型.
比较运算符两侧如果都是字符串类型,比较的是最高位的asc码,如果最高位相等,继续取第二位比较
等性运算符:执行类型转换的规则如下:
如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。 
如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。 
如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。 
如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。 
在比较时,该运算符还遵守下列规则:

值 null 和 undefined 相等。 
在检查相等性时,不能把 null 和 undefined 转换成其他值。 
如果某个运算数是 NaN,等号将返回 false,非等号将返回 true。 
如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等。 
 

五.流程控制

  1.数据结构(从上往下执行)

   2.分支结构(if...esle  if...elif...elif...else)

   特别:

switch基本格式
switch (表达式) {
    case 值1:语句1;break;
    case 值2:语句2;break;
    case 值3:语句3;break;
    default:语句4;
}

  3.循环结构

   for循环

for(初始表达式;条件表达式;自增或自减)
    {
            执行语句
            ……
    }

#另一种结构

for( 变量 in 数组或对象)
    {
        执行语句
        ……
    }

  while循环

var i=1;
while (i<=7) {
    document.write("<H"+i+">hello</H "+i+"> ");
    document.write("<br>");
    i++;
}
//循环输出H1到H7的字体大小

  异常处理

try {
    //这段代码从上往下运行,其中任何一个语句抛出异常该代码块就结束运行
}
catch (e) {
    // 如果try代码块中抛出了异常,catch代码块中的代码就会被执行。
    //e是一个局部变量,用来指向Error对象或者其他抛出的对象
}
finally {
     //无论try中代码是否有异常抛出(甚至是try代码块中有return语句),finally代码块中始终会被执行。
}
原文地址:https://www.cnblogs.com/sxh-myblogs/p/7592434.html