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