javaScript(二)

本文深入探讨JavaScript的基本语法,涵盖标识符、注释、严格模式、变量声明与作用域、数据类型及其转换、操作符等内容,是初学者和进阶者的必备指南。

1.02 JavaScript基本语法

(1)标识符

指JavaScript中定义的符号,如变量、函数、数组等。

☞ ECMAScript的标识符由字母、数字、下划线、美元符号组成。但不能以数字 开头。
不能是ECMAScript规定的保留字和关键字。

☞ ECMAScript的标识符建议采用驼峰大小写格式。如myCar,testString,
doSomethingImportant。

☞ ECMAScript中的一切(变量、函数、操作符等)严格区分大小写。  而函数名不能使
用typeof,因为它是一个关键字。

(2)注释

JavaScript使用C语言风格的注释,包括单行注释和块级注释。

☞ 单行注释:  //这是单行注释
☞ 块级注释:
     /*
      这里是多行
      块级注释
     */

(3)严格模式

ECMAScript5引入严格模式(strict mode)
“use strict”在整个脚本中启用严格模式

function (){
“use strict”
//在函数体中启用严格模式
}

(4)语句

☞ JavaScript中的语句以一个分号(;)结尾,如果省略分号,则把换行看成是语句的结尾。强烈建议在每行语句的末尾加上一个分号,以增强程序的可读性。

☞ 代码块的使用:代码块以左花括号({)开头,以右花括号(})结尾。
在这里插入图片描述

1.02 关键字和保留字

  • 正在使用的关键字
    在这里插入图片描述

  • 未来保留的关键字
    在这里插入图片描述

    第5版把在非严格模式下运行的保留字缩减为下列这些:

    class    enum  extends    super   const   export  import
    

    在严格模式下,第5版 还对以下保留字施加了限制

    implements   package   public  interface   private
    static    let    protected   yield
    

    let 和 yield 是第5版新增的保留字;其他的保留字都是第三版定义的。

1.03 变量

  • ECMAScript的变量是松散类型的,它可以用来保存任何类型的数据。

  • 变量声明

    在JavaScript中,可以使用var关键字来声明变量,由于JavaScript是一种弱类型的脚本语言,变量还可以在不声明的情况下直接使用。但是,使用var关键字显示地声明变量,可以提高程序的可读性。因此,在JavaScript中做变量声明时,最好使用var显示地声明。

  • 变量声明方式:

    ☞ 一次声明一个变量,只声明不给变量赋初始值。如:var  str;
    ☞ 一次声明一个变量,同时给变量赋值。如:var size=0;
    ☞ 一次声明多个变量,只声明不赋初始值。如 var str,size,height;
    ☞ 一次声明多个变量,同时给变量赋值。如var size=0,str=“hello”,height=80;
    
  • 变量的作用域:

    ☞ 在JavaScript中,用var操作符定义的变量将成为定义该变量的作用域中的局部变量。
    
    ☞ 要创建一个全局变量,可以省略var操作符。
    

1.04 数据类型

  • JavaScript中的数据类型分为两种:基本数据类型和引用数据类型(对象)。

    ☞基本数据类型:基本数据类型变量的值存储在栈中,即直接存储在变量访问的位置。
    
    ☞ 引用数据类型:引用类型类型的变量存储在栈中,但它的值是存储在堆中的对象。
    即存储在变量处的值是一个指针,指向存储对象的堆内存处。
    
  • ECMAScript中的基本数据类型有5种:Undefined、Null、Boolean、Number和String。

    ☞ Undefined类型:Undefined类型只有一个值,那就是undefined。在使用var
    声明变量但未对其初始化是,变量的值就是undefined。它从null派生而来,
    ECMA-262规定对它们的相等性测试要返回true。
    

    例题2-3.html
    在这里插入图片描述

    ☞ Null类型:Null类型也只有一个值,这个值是null。从逻辑角度看,null值表示
    一个空对象指针(或者说,它表示一个还不存在的对象,可以看成是对象的占位符)。
    
    ☞ Boolean类型:该类型有两个值,true和false。0表示false,非0表示true。要将一个值转换成对应的Boolean值,可以调用转型函数Boolean()。在实际使用中,JavaScript也会按以下规则自动转换:
    

    例题2-4.html
    在这里插入图片描述

    ☞ Number类型:数值类型有整数和浮点数。
      ☃ 整数的形式有:
      十进制整数:如 55,86
      八进制整数:如 072,056   (第一位必须是0,符合为0~7)
      十六进制整数:如 0xA,0x1f  (前两位必须是0x,符号为0~9及A~F)
      ☃ 浮点数的形式有:
       带小数的数:如1.25,85.6
       科学计数法表示的数:如3.125e7,3e-7
      ☃ 数值范围:ECMAScript能够表示的最大值和最小值如下:
      	最大数值:1.7976931348623157e+308,保存在Number.MAX_VALUE中。
      	最小数值:5e-324,保存在Number.MIN_VALUE中。
      *超出这个范围的数值将被自动转换成正无穷Infinity(保存在Number.NEGATIVE_INFINITY中)和负无穷-Infinity(保存在Number.POSITIVE_INFINITY中)。
      *isFinite()函数可以用来测定一个数是否介于正无穷和负无穷之间。
       ☃ NaN:它是一个特殊的数值,是非数值(Not a Number)的缩写。它用来表示一个本来要返回数值得操作数未返回数值得情况,减少错误的抛出。isNaN()函数可以帮我们测定某个表达式的结果是否“不是数值”。    
       ☃ 数值转换:有三个函数可以把非数值转换成数值
    

    Number():可用于任何数据类型。转换规则:

      1、Boolean值:true->1   false->0
      2、数字值:作简单的传入和返回。
      3、null值:返回0。
      4、undefined:返回NaN。
      5、字符串:
         a、只包含数字:转换成10进制整数(忽略前面的0)
         b、包含有效的浮点格式:转换成对应的浮点值
         c、包含有效的十六进制格式:转换成十进制整数
         d、空字符串:转换成0
         e、其余的转换成NaN  
    

NaN,即非数值(Not a number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况。

☃ 数值转换:有三个函数可以把非数值转换成数值
 parseInt():专门用于把字符串转换成数值,主要用于处理整数型字符串。它会忽略字
   符串前面的空格,直至找到第一个非空格字符,如果第一个字符不数字或负号,
   parseInt()就会返回NaN;如果第一个字符是数字,parseInt()会继续解析第二
   个字符直到解析完所有后续字符或遇到了一个非数字字符。
 parseFloat():专门用于把字符串转换成数值,主要用于处理浮点数字符串。它从第一
   个字符开始解析每个字符,而且一直解析到字符串末尾,或者遇到一个无效的浮点数
   字字符为止。从第二个小数点开始,它后面的字符串将被忽略;parseInt()忽略前
   导的0,并且这解析十进制值,十六进制格式的字符串始终会被转换成0。
  
☞ String类型:用单引号(‘’)或双引号(“”)引起来的若干个字符。在JavaScritp
中,单引号和双引号引起来的字符串没有任何区别。

☞ String类型:用单引号(‘’)或双引号(“”)引起来的若干个字符。在JavaScritp
中,单引号和双引号引起来的字符串没有任何区别。

☞ String类型:用单引号(‘’)或双引号(“”)引起来的若干个字符。在JavaScritp
中,单引号和双引号引起来的字符串没有任何区别。

在这里插入图片描述

☃ 任何字符串的长度都可以通过访问其length属性获得。如var  str=“hello world!”; alert(str.length);

☃ 字符串转换:要将一个值转换为字符串,有两种方式
 1、使用toString()方法:数值类型、布尔类型、对象类型和字符串类型都有toString()
方法,但null和undefined值没有这个方法。另外,在调用数值的toString()方法时,
还可以传递一个参数:输出数值的基数。
 
 2、在不知道要转换的值是不是null或undefined的情况下,可以使用转型函数String(),
这个函数能将任何类型的值转换为字符串。其转换规则是:如果值有toString()方法,
则调用该方法;如果只是null,则返回“null”;如果只是undefined,则返回“undefined”。

字符串的特点:

 ECMAScript中的字符串是不可变的。字符串一旦创建,它们的值就不能改变。要改变某
个变量保存的字符串,首先要销毁原来的字符串。

typeof 操作符:

检测变量的数据类型。对一个值使用typeof操作符可能返回下列字符串:

☞ “undefined”—如果这个值未定义
☞ “boolean”—如果这个值是布尔值
☞ “string”—如果这个值是字符串
☞ “number”—如果这个值是数值
☞ “object”—如果这个值是对象或null
☞ “function”—如果这个值是函数

1.05 操作符

  • 算术操作符
    在这里插入图片描述

  • 字符串操作符

     JavaScript的字符串操作符只有一个,那就是“+”。用于把文本值或字符串变量连接起来。
    
如:text=“Hello”+“World”;
     或 text1=“Hello”;
        text2=“World”;
        text=text1+text2;
  • 关系操作符
    在这里插入图片描述
  • 等性操作符
    在这里插入图片描述
  • 逻辑操作符
    在这里插入图片描述
  • 赋值操作符
    在这里插入图片描述
  • 位操作符
    在这里插入图片描述
  • 其他操作符

☞ 条件操作符(?:):是JavaScript中唯一的三元操作符。用法如下:

 max=(num1>num2)?num1:num2;
   等价于:
     if(num1>num2){
        max=num1;
     }else{
        max=num2;
     }

☞ typeof操作符:检测变量数据类型。(详见第19张幻灯片)
☞ new操作符:用于创建一个新对象。

 如:var d=new Date();
     var o=new Object();

☞ delete操作符:用于删除变量或对象的属性。(JavaScript的核心对象和属性以及用var关键字声明的变量是不能删除的)

 如: y=6;  delete y;
 var x=3;  delete x;  //不能删除

☞ void操作符:在JavaScript中,void是一个特殊的操作符,它可以用在任何表达式之前,是表达式的返回值为undefined。

 如:var str=“Hello”;
     alert(void str);     //输出undefined
 

☞ 逗号操作符:使用逗号操作符可以在一条语句中执行多个操作。逗号操作符多用于声明多个变量,但也可以用于赋值。

   如:  var num1=1,num2=2,num3=3;
          var num=(5,1,4,8,0);    //num的值为0
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值