JavaScript主要由核心(ECMAScript)+文档对象模型(DOM)+浏览器对象模型(BOM)这三大部分组成。
ECMAScript 仅仅是一个描述,定义了脚本语言的所有属性、方法和对象,DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。
DOM 通过创建树来表示文档,从而使开发者对文档的内容和结构具有空前的控制力。用 DOM API 可以轻松地删除、添加和替换节点。
BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作。使用 BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。
接下来主要讲解一下JS的语法规则,数据类型以及相关的操作符:
1.语法规则
- 注释: //单行注释 /**/多行注释
- 语法
<2>标识符:主要分为变量,函数,属性的名字以及函数的参数;
<3> 标识符的命名规则:
a.由字母,数字,下划线_以及$符号组成。
b.不能以数字作为开头。
c.不用关键字,保留字作为标识符。
<4>变量的声明与赋值
a.变量的声明:var
b.变量的赋值:
先声明后赋值: var name;
name="xiaoming";
声明变量的同时进行赋值: var name="xiaoming";
可以一次声明多个变量: var name="xiaoming ",age=18;
[注意]:省略var声明的变量为全局变量。
2 数据类型
JS中的数据类型主要分为两个大类:
简单:undefined,null,boolean,number,string
复杂:object
typeof:检测变量的类型 typeof 变量 / typeof (变量)
console.log():在控制台打印所需信息
<1> undefined
声明变量但未进行赋值,则该变量为undefined;
<2> null
空对象指针,若定义的变量准备在接下来用于保存对象,可将其初始化为null,undefined派生null, 若二 者进行“”==“”操作,返回值为true
<3> number
定义整数或浮点数,NaN不是一个数,其进行任何的操做都会返回NaN,和任何值均不等,包括其本身。
a. 方法 isNaN( )
检测是否为数值,返回值为boolean类型的true or false,监测的值可以时任意类型,对于不可以接收 的值会先转换为数值,在进行判断。
b. 数值转换
将不是数值类型的转换为数值类型的。
Number( ),强制类型转换,若不能转换则返回NaN;
pareInt( ),转换为整型,以数字开头的才可进行操做,忽略前面的空格和0,无论有多少个,当有2个参数 时(0xf,16),意思为转换为16进制;
parseFloat( ),转换为浮点型,从第一个开始,知道遇到无效的浮点数字为止,只有第一个小数点有效, 其他的都不算,如1.12.34,我们可以认为它的值为1.12;
<4> string
0个或者16个unicode编码组成的字符序列。同样也可以尽心类型转化,str.toString( ),将str转换为字符串,在不知道要转换的值是否为null undefined时,使用String( )进行强制类型转换,将其转换为字符串。
<5> boolean
true or flase
在number类型中,除0以外,其它均为true;
在strng类型中,除“ ”以为,其它均为true;
null / undefined 转换为boolean时,为false;
Boolean( )尽行强制类型住转换。
3 算数操作符
主要分为算数,逻辑,赋值,比较以及三元运算符。
< 1 >算数运算符: + - * / % ,递增,递减,
以递增为例,尽行说明:a++,先赋值,后递增; ++a,先递增,后赋值
编译器会自动将“10”转化为 10
<2> 赋值运算符 : = += -= *= /= %=
<3>三元运算符 : 条件?代码1:代码2,条件为真执行代码1,反之执行代码2
<4>比较运算符 : > < >= <= == === != !==
==:值相等即为true !=: 值相等即为true
===:值和数据类型均相等,才为true !==:值和数据类型均相等,才为true
null==undefine 返回值为true
null===undefined 返回值为false
<5> 逻辑运算符 && || !
a. &&
两个变量同时为真才返回true,在有一个操作数不是boolean时,遵循以下规则:
若第一个操作数进行隐式类型转换为true则返回第二个操作数或者下一个;
若第一个操作数进行隐式类型转换为false则返回第一个操作数;
null,undefied,NaN有其中任意一个,则返回其本身;
b. ||
两个变量有一个为真即可,在有一个操作数不是boolean时,遵循以下规则:
若第一个操作数成立,则返回它的隐式类型转换,后面的将不再进行判断;
若第一个操作数不成立,则返回第二个操作数的隐式类型转换,以此类推;
若两个操作数均为null ,undefined,NaN,则相应的返回null,undefined,NaN;
c. !
true or flase,!!第一个无论是什么操作数都会返回一个boolean类型的值,第二个为对改boolean类型求反。
这只是JS学习的基础部分,在接下来的学习中,我还会依次提交更多的知识点,希望大家互相学习,不断提出问题,让我们共同提高。