1.JavaScript概述
-
什么是JavaScript
简称JS,是一种运行于JS解释器或执行引擎中的脚本代码,是一种浏览器解释型的语言
主要用来实现页面的交互与动态效果 -
JS的组成
核心语法 ECMAScript 规范了JS的基本语法
浏览器对象模型-BOM
Browser Object Model,提供了一系列操作浏览器的方法
文档对象模型 -DOM
Document Object Model . 提供了一系列操作文档的方法
2.JS使用方式
-
在元素标签中绑定JS代码,主要指JS事件
事件:用户在元素上所激发的行为操作(单击)
语法:< 标签 onclick = "JS 操作" >
JS 操作如果涉及代码非常多,一般会抽离出来单独写在JS文件中,如果是简单的代码,可以以属性值字符串的形式书写
console.log("在控制台中输出一句话");
-
将JS代码嵌套在文档中,使用
语法:< script > JS 代码 < / script >
注意:标签可以书写在文档的任意位置,书写多次,但是不同的位置会影响代码最终的执行效果(一般写在末尾)
特点:
网页加载到标签时就会执行内部的JS代码< script > console . log ( '' ) ; //在页面中输出,会重写网页主体内容 document . write ( '' ) ; < / script >
-
外部链接
语法:
创建外部的JS文件.js
在文档中使用
src
引入的外部资源是网页加载所必须的一部分,网页加载src文件时,会等待文件加载完毕再执行后面的代码
href 网页
在加载href文件时,不会等待加载完毕,边加载边向后执行
注意:在JS 的引入标签中常用操作:
alert(' ');
普通的网页弹框
prompt(' ');
接收用户输入的弹框,返回用户输入的内容
document.write('
hello
'); 1 在使用事件方式写入时,会重写网页内容(事件涉及网页刷新),2 可以识别HTML标签,脚本代码可以在文档任何地方书写,如果是普通写入(不涉及事件),区分代码的书写位置,在当前位置中插入,如果是在head中嵌入,内容会作为body的首行内容显示,
console.log();
控制台输出,多用于代码调试
3.基础语法
-
JS 是由语句组成的
JS语句可以由运算符,关键字,表达式组成
JS语句必须以英文分号结束;
JS中严格区分大小写
console.log()
:正确写法
Console.log()
:错误写法
所有涉及的标点符号,必须使用英文的 -
JS中的注释
单行注释 //
多行注释 /* 注释文本 */
4.JS的变量与常量
-
变量
使用关键字 var 进行声明
声明:var 变量名;
赋值:变量名 = 值;
声明的同时赋值
var 变量名 = 值;
et:
声明一个变量 uname,取值 ‘韩梅梅’
var uname = ‘韩梅梅’;
输出变量的值
console.log(uname);
document.write(uname);
alert(uname);
声明变量时,关键字 var 可以省略,不建议省略,容易出问题
变量如果只声明,未赋值, var a; 变量默认值为 undefined
-
常量
一经声明就不允许再被修改的数据就是常量( 常量在声明的同时必须赋值 )
语法:const 常量名 = 值;
为了与变量名区分,常量名一般采用全大写的方式操作小数位
保留小数点后n位
toFixed(r);
使用: var num = 3.1415926 ; //保留当前变量小数点后两位 var res = num . toFixed ( 2 ) ; 或者 num = num . toFixed ( 2 ) ;
5.数据类型
-
number 类型
数字类型,表示32位的整数或者是64位的浮点数,1字节 = 8位,整数占4字节,浮点数占8字节
参照c语言 -
字符串类型
string 类型,可以由Unicode 的字符
,数字或标点来组成,-
字符串在使用时必须使用
' '
或" "
引起来 -
每个字符都有对应的
Unicode码
查看字符的Unicode码
var s1 = ‘张’;
方法:charCodeAt(index)
用来查看指定位置的字符对应的Unicode编码字符串中的字符都对应有一个下标,参考数组的存储方式,下标从0开始
var s = 'hello';
s.charCodeAt(2);
-
boolean 布尔类型
用来表示真或假
布尔类型表示真或假,是可以参与数学运算的,true = 1 / false = 0 -
undefined 类型
变量声明未赋值时,为undefined
如果访问对象不存在的属性时,也为undefined -
null 类型
空类型
-
-
判断数据类型
typeof
使用:var n = 'asda' ; console . log ( typeof n ) ; console . log ( typeof ( n ) ) ;
-
引用数据类型(复杂数据类型)
数组 函数 对象
6.数据类型转换
-
隐式类型转换(自动转换)
-
number + string
当字符串与其他数据类型相加时, + 表示字符串的拼接,不再是数学运算
转换规则:将非字符串类型的数据转换成字符串之后进行拼接,最终结果为字符串 -
boolean + string
将布尔类型转换为字符串进行拼接var n = true ; var r = n + '你好' ; //'true你好';
-
number + boolean
将布尔类型转换为数字进行运算true = 1 ; false = 0 ; et : var n = true + 15 ; //16 var n1 = false + 20 ; //20
-
-
强制类型转换
-
toString()
将任意非字符串类型的数据转换为字符串类型,并返回转换后的结果var n = 100 ; var r = n . toString ( ) ; console . log ( typeof n , typeof r ) ;
-
Number()
将 数字字符串或者是布尔值转换成number 类型 ,如果字符串中包含非数字字符,转换失败,会返回NaN
(Not a Number)var r = Number ( '35.5' ) ; //35.5 var r2 = Number ( true ) ; //1 var r3 = Number ( '18a' ) ; //NaN
-
parseInt()
解析字符串中的数字, 只解析字符串开头中的数字 ,如果字符串不是以数字开头的,都返回NaN,并且只解析整数(如果parseInt方法中的参数不是字符串,会自动先使用toString() 转换成字符串,之后在进行判断)var r = parseInt ( '18.2a' ) ; //18 var r2 = parseInt ( 'a18' ) ; //NaN var r3 = parseInt ( 35.5 ) ; //35 // 如果parseInt方法中的参数不是字符串,会自动先使用toString() 转换成字符串,之后在进行判断
-
parseFloat()
作用等同于parseInt(),解析结果包含小数部分
-