JavaScript能用来做什么?
页面分为:结构、样式、行为
对页面进行渲染,让页面有行为,让页面动起来。
JavaScript的组成:
ECMAScript、BOM、DOM
ECMAScript是一个标准,它规定了语法、类型、语句、关键字、保留子、操作符、对象。(相当于法律)
BOM(浏览器对象模型):可以访问浏览器窗口的浏览器对象模型,对浏览器窗口进行操作。
DOM(文档对象类型):DOM把整个页面映射成一个多层节点结构。HTML页面组成都是某种类型的节点,这些节点又包含着不同类型的数据
HTML5是一种新的技术,就目前而言,我们所知的HTML5都是一些标签,但是有了JS之后,这些标签深层的扩展功能才得以实现。
比如video标签,我们对其理解为一个简单的标签,但实际上,video标签还有更深层次的扩展功能。
JS也是一种脚本语言,他可以有两种方式在HTML页面进行引入,一种是外联,一种是内部。
外联JS的写法为:
这是一条html语句,原则上可以放在html页面的任意位置,不用和link标签一样非得放在head部分
相对路径链接的是JavaScript文件,文件的扩展名为.js,如index.js
内部JS的写法为:
错误的写法:
向页面中打印内容:
document.write(“这是一些文本内容”);
可以直接解析标签:
document.write(“加粗的内容”);
转义字符:
< ==== <
> ==== >
document.write(“<strong>这是一些加粗的内容”);
console.log(“hello world”)
向浏览器的控制台打印信息,跟document.write()原理类似
变量的类型(数据类型)
因为存放在变量中的数据是放在计算机的内存中的,计算机只识别0和1,所以需要对不同类型的数据进行转义,转义的结果会导致所需空间不同,所以JS中分成很多种数据类型,以便计算机储存时使用。
数值类型(number):1234567890
字符类型(string):“123” ‘asd’ “文字” “数据”(被单引号或双引号,包裹的部分,引号必须配套使用)
定义了未赋值类型(undefined):这是一种特殊类型,当变量被声明,但是没有被赋值的时候,那么该变量的类型的undefined
布尔值类型(boolean):true,false (真,假)
对象类型(object):{}object
数组类型(array):[]
如何区分或得知不同的数据类型:
通过关键字 typeof 变量名
小技巧:声明一串变量时可以这么写,var a=1,b=2,c=3;(但是不推荐初学者这么用,因为这样的声明方式会导致注释不明确)
第一个规则:
语义化,前缀就能表示出这个变量的类型
第二个规则:
开头必须为字母或者$或者_
那么能不能使用typeof做为变量名呢?想都别想!
第三个规则:
关键字和保留字不能用做变量名。
alert()方法
alert()方法用来停止浏览器加载代码,并弹出()里面的内容。
浏览器解析代码的顺序(从上到下,从左到右)
JS中的运算符分为:算术/赋值/关系/逻辑/自增自减
算术运算符: +加法 -减法 *乘法 /除法 %取余
var a = 1, b = 2;
a + b = 3
a - b = -1
a * b = 2
a / b = 0.5
a % b = 1
目测,跟数学中的运算符是一样的。但是:
var a = “1”, b = “2”;
a * b = 2
a / b = 0.5
a - b = -1
a + b = ???
+号,有两层意思,第一层算数之间的加法;第二层字符串的连接;执行过程中,先检测加号两边的数据类型,如果发现字符型,那就先 生效字符的连接
数据类型转换:强制转换、隐式转换
其实还是有点不一样:和我们概念中的逻辑运算符很多都是不一样的:
比如: = == ===
并且不同数据类型之间的运算得到的结果,可能不是我们意想中的;
有什么差别呢?
赋值运算符: = += -= *= /= %=