JavaScript基本语法

JavaScript基本语法


首先要明确一点:JavaScript是区分大小写的

使用;作为每一行代码的结尾(其实不加;也可以,但推荐加上)


标识符

JavaScript中标识符主要组成如下:

  1. 第一字符必须是字母、下划线_或一个美元符号$
  2. 后续字符可以是字母、下划线、美元符号或数字。
  3. 不能把关键字、保留字、truefalsenull作为标识符。

关键字

常见关键字如下

break、else、new、var、case、finally、return、void、catch、for、switch、while、continue、function、this、with、default、if、throw、delete、in、try、do、instanceof、typeof等


保留字

ECMAScript-262还描述了另一组不能用作标识符的保留字。尽管保留字在JavaScript中还没有特定的用途,但它们很有可能在将来被用作关键字。

abstract、enum、int、short、boolean、export、interface、static、byte、extends、long、super、char、final、native、synchronized、class、float、package、throws、const、goto、private、transient、debugger、implements、protected、volatile、double、import、public等


注释

// 单行注释

/* 
  多行注释
  多行注释
*/

变量

使用关键字varlet可以声明变量,声明的同时可以赋值,例如

var name;
name = '张三';
var address = '北京';
let phone = 123;

注意:

  1. 重复声明时,后面的声明无效,即该变量还是前面的,例如

    var name = '张三';
    var name; // 声明无效
    console.log(name); // 张三
    var name = '李四'; // 声明无效,等价于name = '李四'
    console.log(name); // 李四
    
  2. 不用varlet定义变量也可以,此时该变量作为window对象(全局对象)的属性,即:

    name = '张三'; // 等价于window.name = '张三';
    
  3. 变量默认值为undefined

  4. varlet的主要区别在于作用域:var是函数作用域,let是块作用域


数据类型

JavaScript的数据类型主要分为两种:

  1. 基本数据类型,分为:

    1. number:数值型,整形和浮点型都属于数值型,整数用0开头表示8进制,用0x表示16进制,NaN表示非数字(虽然不是数字,但却是number类型),Infinity表示无穷大
    2. string:字符型,用引号(单引号和双引号都行)引起来的一串(个)字符,可以使用+拼接
    3. boolean:布尔型,即truefalse
    4. null:空,表示一个空对象的地址指定指向的为空,只有一个值null
    5. undefined:未定义,未赋值的变量的值,只有一个值undefined
  2. 引用数据类型:object:对象型,用来声明存储一个对象,对象里可以包含基本数据类型,函数,正则等,例如:

    var a = new Number(10); // new:创建一个对象
    var people = {
        name : '张三',
        sex : '男',
        age : 10
    }; // 自定义一个对象
    console.log(a == 10); // true,==只比较值
    console.log(a === 10); // false,===严格相等,会比较类型
    

使用typeof可以获取变量的类型,返回的是string类型

var a = new Number(10); // new:创建一个对象
console.log(typeof a); // object
console.log(typeof typeof a); // string

运算符

提示:JavaScript支持+=等自运算符

  1. 算数运算符:
    +-*/%++--

    注意:其除法是真除法,不是整除

  2. 关系运算符:
    ><>=<======!=!==

    其比较主要分为如下几种情况:

    1. 数值比较,是比较其大小
    2. 字符比较,是比较ASCII码值的大小;
    3. 汉字比较,是比较其Unicode编码值的大小
      可以通过charCodeAt(x)获取x位置的编码值
    4. 布尔比较,true为1,false为0

    注意:===是严格等于,即比较类型也比较值,==是不严格等于,只比较值

  3. 逻辑运算符:
    &&||!

    一般情况下返回布尔型,但以下两种情况例外

    1. 在使用&&时,如果两个中任意一个操作数为非逻辑值,第一个操作数的结果为true时,返回第二个操作数的值;第一个操作数的结果为false时,返回第一个操作数的值。
    2. 在使用||时,如果两个中任意一个操作数为非逻辑值,第一个操作数的结果为true时,返回第一个操作数的值;第一个操作数的结果为false时,返回第二个操作数的值。

    例如:

    console.log(0&& 3); // 0
    console.log('hello' && null); // null
    console.log(0 || 1 + 1); // 2
    console.log(1 || false); // 1
    

    注意:非布尔型在进行逻辑运算时,"",undefined,null,0将作为false,其他都作为true,包括空对象和空数组。

  4. 位运算符:

  5. 三目运算符

    表达式1 ? 表达式2 : 表达式3
    

    如果表达式1成立,返回表达式2的结果;否则,返回表达式3的结果。


流程控制语句

和Java一样,主要使用if…else…,switch,for,while,do…while,不再赘述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值