一、JS基础
1、JavaScript是一种面向对象(DOM/BOM)的,跨平台(Web浏览器)的解释型(由上至下)脚本语言/轻量级编程语言。
2、常用功能:读写HTML元素、响应浏览器的操作(事件)、 表单操作、记录状态(创建Cookies等)...但不包含联网技术,也不能读取数据库数据。
3、由3部分组成:ECMAScript(核心)、DOM(文档对象模型)、BOM(浏览器对象模型)
4、语句:区分大小写、弱类型变量、句尾分号添加与否随意、外部js文件内不能包含script标签。
5、放置:JS代码可放置在HTML的任何位置,对应的加载时间点也不同。
不设置defer时:位于head的JS代码,在HTML文档装载时最先被载入。【js代码或外部链接宜放置在css代码后面】
设置了script的defer属性值的JS代码,会在网页装载后,才被解析。
※ 外部JS的3个优点:简化和易于维护代码;实现模块化;加速浏览(多页面调用和重访时);
javascript:语句:① 当用a标签调用函数时,href属性值中的js代码前需要加此语句;
e.g:<a href="javascript:alert('Hey,Lady!')">这明显就是个超链接</a>
②在标签的事件属性中,则可以不添加次语句;onclick=“alert('Hey,Lady!')”
6、script元素:用于包含JS代码。(注意此元素不能嵌套)
5个属性:charset(脚本字符集)、defer(先装载文档再解析js)、language(脚本语言)、src(外部地址)、type(脚本类型)
language:浏览器根据不同脚本语言,对应不同解析器 。
type:浏览器通过MIME决定使用什么程序执行数据。(MIME多功能互联网邮件拓展)
※ 因有些老式浏览器不支持type,故常language与type同时使用。
7、noscript元素:不支持JS时,显示包含的内容。
8、空格&换行:JS会忽略“表语句结束的换行”和“字符串或正则表达式的一部分” 之外的空格、换行、制表符。
二、数据类型
① JS支持3种基本数据类型:字符串型、数字型、布尔型。
字符串型String:文本数据类型。
数字型Number:JS中的数字采用浮点型表示,不区分整形和浮点型。范围:10的正负308次方。
布尔值Boolean:不加引号。var bvalue = true;(加引号的皆为字符串)【typeof()可查询变量类型】
② JS支持2种复合数据类型:对象、数组。
数组Array:一些数据的组合。【数据可为字符串型/数字型/布尔型/数组/对象】
数组元素:放在数组中的数据,称为数组的元素。
数组下标:数组的每个数据都有编号,编号成为数组的下标,从0开始。
获取数组元素:数组名[下标值]
对象Object:一些数据的组合。
对象属性:放在对象中的数据,对象会对数据命名,这些命名称为对象的属性。
对象方法:【数组没有的功能】,放在对象中的函数,称为对象的方法。
读写属性和方法:对象名 . 属性名 & 对象名 . 方法名()
③JS还支持3种特殊数据类型:函数、null、undefined
函数Function:一段可执行的JS代码块。可被存储在标量、数组或对象中,或当做传递参数使用。
特征:可定义若干参数,但实际传递参数个数可不对应。有一个或无返回值。
null:表没有值,故是一种不属任何一方的独立数据类型。
注意:空字符串时长度为0的字符串类型。
undefined:表未定义。
返回该值的4种情况:1)未赋值的变量。2)使用了一个为定义的变量。
3)引用了一个不存在的对象属性或数组元素。
数据类型转换:
隐式转换:将数据类型转换成当前环境中说需要使用的数据类型。
显示转换:
转换成数字型:Number(value)转换成整数或浮点数;出错时返回NaN
parseInt(value)转换成整数;出错时,只转换第一个无效字符前的字符串
parseFloat(value)转换成浮点;出错时,同上。
转换成布尔型:Boolean(value)除了空字符串、0和NaN、null和undefined其他为true;
转换为字符串型:String(value)一般都能直接转换。
JS内置对象,可用toString()方法转换为字符串。