使用方式
内嵌和外联不存在优先级,不可以同时使用引入外联js和内嵌js!!!
内嵌
图示处直接写代码
外联
先创建js文件,在js文件中直接写代码,在HTML的head的script中添加src属性引入js资源
对象和符号 | |||
所属类型 | 类型 | 表示的内容 | 注意事项 |
基本(原始数据类型) | 字符 | 单引号或双引号包裹的内容 | |
数值 | 数字 | ||
布尔 | true/false | ||
null | 空字符 | ||
undefined | 变量定义了但没有赋值 | 有且仅有这一个值undefined | |
变量 | var | 可以接收所有类型并自动识别(如一个var的值是字符串,另一个var的值是int,做加法自动拼接) | 参数列表、返回值都是var类型,无需再写,只有声明变量的时候需要写 |
运算符 | === | 比较值和类型是否相等 | |
== != | 仅比较值是否相等 | “3”==3?1:2 结果是1 | |
++ -- + - % / * | 同java | ||
? : | 同java | ||
&& || | 同java | Boolean和其他类型做逻辑判断,如果布尔值true,输出其他类型的值;如果布尔值false,输出在&&后面的值 如果两个都不是布尔值,直接输出&&后面的值 | |
条件 | for | 同java | 没有增强for循环! |
while | |||
do while | |||
switch case | |||
if else | |||
方法 | function | function f(参数){方法体} | 方法也是对象(function对象); 不需要声明返回类型和权限; 可以有返回值,只是类型都是var无需写出; 方法名相同的2个方法,后一个会覆盖前一个(相当于重写); 不存在重载,无论参数列表是否相同,只要方法名相同就找最后一个方法 |
数组
定义方式
var 数组名=new array(元素1,元素2,元素3…);
var 数组名=new array(长度);
特点
可以放置任意类型
同一个数组中元素1,元素2,元素3…可以有不同类型;
只放置一个正整数时视为数组长度;
注意
查询数组中不存在的元素会输出undefined(如下例中的2个alert)
function f(){
var arr=new Array(0);
alert(arr[0]);
var arr2=new Array(3);
alert(arr2[2]);
}
方法
join(字符串) 拼接
将数组内容以指定的字符串中的内容进行拼接
function f(){
var arr=new Array(0,"12",false);
alert(arr.join("&"));//0&12&false
var arr=new Array(0,"12",23);
alert(arr.join("+"));//0+12+23
alert(eval(arr.join("+")));//35;
}
push(元素1,元素2,元素3…) 拼接
向数组最后添加元素(任意类型,任意个数)
function f(){
var arr=new Array(0,"12",23);
arr.push("34",44,false,33.4,"swe");
alert(arr);
}
日期
定义方式
var 变量名=new Date();
方法
gettime
获取本地时间日期的毫秒值
tolocaleString
获取格式化的本地时间日期字符串
tolocaleTimeString
获取格式化的本地时间时间字符串
tolocaleDateString
获取格式化的本地时间年月日字符串
function d(){
var d = new Date();
alert(d);//Wed Nov 13 2019 11:03:51 GMT+0800 (中国标准时间)
alert(d.toLocaleString());//2019/11/13 上午11:09:02
alert(d.toLocaleTimeString());//上午11:09:02
alert(d.toLocaleDateString());//2019/11/13
}
Math 直接用math调用
方法
PI
POW
E
var m =function(){
alert(Math.PI);//3.141592653589793
alert(Math.E);//2.718281828459045
alert(Math.pow(2,3));//8
alert(Math.round(3.6));//4
alert(Math.random());//随机0-1之间的
alert(Math.floor(3.6));//3
alert(Math.ceil(3.6));//4
}
全局函数 不用对象调用,直接使用
parseInt(参数)
将数值形式文本转换成数值,如果参数本身不是数值形式,输出NaN
parseFloat(参数)
将数值形式文本转换成数值,如果参数本身不是数值形式,输出NaN
eval(参数)
计算字符串文本(字符串内容必须是表达式)
isNaN(参数)
判断是否数值形式
即便是字符串,如果内容是数值形式,也返回false
encodeURI(参数要被转换的内容)
编码,防止中文乱码问题
decodeURI(参数要被转换的内容)
解码,转换回文本
var g = function(){
var a="4";
a=parseFloat(a);
alert(a+1);//5
a=parseInt(a);
b="a";
alert(parseInt(b)+1);//NaN
alert(a+1);//5
alert(eval(a+"5"*6))//34
alert(isNaN(a));//false,isNaN只看值,不看类型,即是数值样式的都会被识别为数字
alert(isNaN(3));//false
alert(isNaN("aa"));//true
}
function code(){
var cd="小李子";
var coded=encodeURI(cd);
alert(coded);//%E5%B0%8F%E6%9D%8E%E5%AD%90
alert(decodeURI(coded));//小李子
}
DOM
文档对象模型(document object model);
针对标签、标签的属性、事件等文档对象;
BOM
浏览器对象模型(browser object model)
Window对象
window对象
不需要创建,可以直接使用;
不需要使用对象调用,直接写方法名(window. 可以省略)
方法
方法名 | 含义 | 参数 | 返回 |
---|---|---|---|
alert | 提示 | 可有参(提醒的内容) 可无参 | 无返回 |
confirm | 请确认 | 无参 | 返回true false |
prompt | 请输入 | (问题) (问题,输入框的默认值) | 返回输入的内容 |
setTimeOut | XX时间后执行YY方法 | (YY方法,TT时长) | timeout定时器对象 |
clearTimeOut | 清除 timeout定时器对象 | timeout定时器对象 | 无返回 |
setInterval | 隔XX时间执行一次YY方法 | (YY方法,TT时长) | Interval对象 |
location对象
方法名 | 含义 | 参数 | 返回 |
---|---|---|---|
reloa | 重新加载 | ||
href=“” | 定位到某个页面 | “页面地址” |
history对象
方法名 | 含义 | 参数 | 返回 |
---|---|---|---|
go | 前进(必须访问过的地址才能前进后退) | 数值(正前进负后退,大小代表前进后退的页数) | |
back | 后退(必须访问过的地址才能前进后退) | 数值(正前进负后退,大小代表前进后退的页数) |