js基本语法介绍

1、js的六种数据类型

(1)Boolean(布尔),取值:True,False

(2)Number(数字),取值:所有数字,包含整数小数等,范围相当于double

(3)String(字符串),取值:所有字符串

(4)Undefined(未定义),取值:只有一个值undefined

(5)Null(空对象),取值:只有一个值Null

(6)Object(对象类型),取值:任何对象、array、function等等

上面6种数据类型,只有object是引用类型,其余都是基本类型。

2、==与===

(1)相等运算符==与(!=)

对于等号两边的如果类型相同,则直接比较。如果类型不同的话,先试图通过类型转换为String、Number、Boolean这些相同的数据类型,然后再进行比较。

此外,==认为null与undefined,undefined与undefined,null与null是相等的。

(2)完全相等运算符===

===不进行类型转换,表达式两边的数据类型必须相同,并且值也相同,这时才返回true。

注:switch语句判断的时候是使用的===。

3、null与undefined

(1)null

null表示一个有意义的值,表示无值或者无对象,此时变量的状态为已知状态,即:null。可以通过设置对象名为null值,来释放对对象的引用,以便于浏览器的垃圾回收机制可以回收内存。

(2)undefined

声明变量未赋值时,变量的值为undefined

方法没有return返回值的时候,返回undefined

未声明变量,通过typeof来检测变量时,返回undefined

访问不存在的属性的时候返回undefined

注:把null转换为数字,为0,把undefined转换为数字,为NaN。

4、js变量的作用域

(1)在js中不存在块级元素,所以在方法内部声明的变量在整个方法体的任意位置都可以访问。

<span style="font-family:Microsoft YaHei;font-size:18px;">function f3() {
            var x = 10;
            if (x>5) {
                var y = 100;
                alert(y);
            }
            alert(y);
        }
        f3();
        alert(y);</span>
(2)当重复声明一个变量的时候,js会忽略第二次声明,但是会保留下第二次赋值。

(3)当声明变量的时候没有加var,js认为声明的是一个全局变量,在哪里都可以使用。所以我们要避免使用这种形式的全局变量。

5、js中的转义符

\t,\n,\',\'',\\

6、函数预解析和变量预解析

(1)函数预解析

观察下面的代码

<span style="font-family:Microsoft YaHei;font-size:18px;">var x = 1, y = 0, z = 0;
        function add(n) { n = n + 1; return n; }
        y = add(x);
        function add(n) { n = n + 3; return n; }
        z = add(x);
        alert(y + '........' + z);</span>

执行结果是4........4。

这就是函数预解析的作用,上面的代码有两个相同名称的函数体,当执行的时候并不是按照从上到下依次执行下来,而是先进行函数预解析。遍历代码把函数名都找出来,然后发现有两个是一样名称的,系统会用最后一次的函数来覆盖上面的函数。所以最后y执行的也是+3。

(2)变量预解析

观察下面的代码首先进行变量预解析,所以函数内部执行第一句的时候已经知道存在user_name这个变量,但是仅仅是有这个变量,没有赋值,所以结果是undefined。到了第二句进行赋值,所以结果变成bolun 。下面的alert就出了functions的作用域,所以采用的就是外部user_name变量的赋值,就是istari。

<span style="font-family:Microsoft YaHei;font-size:18px;">var user_name = 'istari';
        function f1() {
            alert(user_name);//undefined
            var user_name = 'bolun';
            alert(user_name);//bolun
        }
        f1();
        alert(user_name);//istari</span>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值