javascript 3语法

数据类型

基本数据类型

1.数值类型(number)

在JS中,数值类型底层只有一种,就是浮点型
在需要的时候,JS会在浮点型和整型之间自动的进行转换
1.2+3.8=5;

Infinity正无穷大 -Infinity负无穷大
NaN(not a number)这是一个特殊值,表示非数字,NaN和任何值都不相等,包括它本身

2.字符串类型(string)

在js中,字符串属于基本数据类型

JS中的字符串常量可以使用双引号或者单引号引起来
var str1="Hello JS";
var str2='Hello JS';

charAt(0)通过索引返回指定字符

3.布尔类型(boolean)

布尔类型的值分为true和false

4.undefined

undefined类型的值只有一个是undfined
undefined表示变量未定义(其实是变量声明了指但是没有赋值)

5.null

null类型的值也只有一个是null
null表示空值,如果在函数中返回null,表示该函数返回一个空的对象

复杂数据类型

对象(函数/数组/对象)

变量及运算符

变量的定义

在JS中,是通过var关键字来声明变量运算符

//声明字符串
var str="Hello JS";
//声明数值
var num=100;
//声明函数
var fn=function(参数列表){}
//声明数组
var arr=[100,"hello",true];
//声明对象
var date1=new Date();

在JS中,通过var声明的变量本身不区分类型,变量可以指向任意数据类型。
比如:

var x='abc';
x=100;
x=true;

在js中重复声明变量,不报错,直接赋值

var a=100;
var a=50;//相当于a=50;
可以解释为
var a; a=100;
var a; a=50;

在js中使用var和不使用var的区别
在方法外声明变量时,使用var声明变量和不使用var声明变量(不使用var声明的变量在之前没有出现过)都是声明一个全局变量。使用时没有区别。

var a=10;
b=20;

在函数中声明变量,使用var声明是声明一个局部变量,不可在函数外调用
不使用var仍然是声明一个全局变量
先找上下文有没有c,如果有c直接赋值。如果没有c生成新的全局变量,给全局变量赋值

    function f1(){
         c=300;
    }
    f1();
    document.write(c);

运算符

JS中的运算符与java大致相同

算术运算符: +,-,*,/,%,++,--
赋值运算符: =,+=,-=,*=,/=,%=
比较运算符: ==,!=,===,!==,>,>=,<,<=
位运算符: & ,
逻辑运算符: && ,||
前置逻辑运算符: ! (not)
三元运算符: ? :
}其他运算符: typeof(返回变量或表达式的数据类型), delete(删除数组或删除对象的属性、方法)

1、==和===的区别
(1)如果在比较时,比较的两个值属于同一种数据类型,此时,==和===没有区别,比较的结果是一样的。

("abc"+"de")== "abcde"  // true
(100+23)==123  // true
("abc"+"de")=== "abcde"  // true
(100+23)===123  // true

(2)如果在比较时,比较的两个值不属于同一种数据类型时,此时,===不予比较,直接返回false.==是先将两个值转成同一种数据类型,再比较事是否相等。

"123"==123 //true
"123"===123 //false
true==1 //true
true===1 //false

2、typeof运算符的作用

        var x=123;
        document.write("x is "+typeof x+"
"); x="123"; document.write("x is "+typeof x+"
"); x=true; document.write("x is "+typeof x+"
"); document.write(typeof 123+"abc"+"
"); document.write(typeof (123+"abc")+"
");

运行结果

x is number
x is string
x is boolean
numberabc
string

你可能感兴趣的:(javascript 3语法)