JS: 数据类型;运算符;函数;js内置对象;BOM;DOM;事件

JavaScript

一、简介

	JavaScript 是一种轻量级的编程语言,是可插入 HTML 页面的编程代码,插入 HTML 页面后,可由所有的现代浏览器执行。
	这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。

二、数据类型

数字型:Number
未定义:Undefined
布尔型:Boolean
字符串:String
引用类型:Object
空类型:Null

js是一门弱类型语言:定义变量时,不需要规定其数据类型。
定义变量关键字: var
var a=100;
var s="hello";
var obj=new Object();
typeof运算符:获取变量的数据类型
var ty=typeof obj; //获取数据类型
ES6可以定义常量: const a=100; //常量

三、运算符

1、数学运算符

算术运算符:+ - * / % ++ -- 
赋值运算符:=  += -= *= /= %=
自动类型转换:当这个运算符运算的值和他期望的值不一样,就会发生自动类型转换
字符串转数字:
例1var a="2";//能转数字就转数字
var b=3;
var c=a*b;
//c=6;2var a="a2";//转不了数字,就转成NaN
var b=3;
var c=a*b;
//c=NaN;  任何数字跟NaN运算结果都是NaN
布尔类型转数字:true1  false0

2、比较运算符

!= == === >= <= > < instanceof
=== 全等号:如果类型不一致,直接false,类型一致再去比值
比较字符串内容是否相同: =====
字符串转布尔类型:空串转false  非空串转true
数字类型转布尔类型:0false0true
对象转布尔类型:nullfalsenulltrue
undefined转为布尔类型:转为false
NaN转布尔类型:转为false

四、函数

定义函数:
方式一:
function 函数名(){
    //函数逻辑
}
调用: 函数名();
方式二:
var 函数名=function(){
    //逻辑函数
}

函数的参数和返回值:
//函数的参数不需要写数据类型
//js调用函数时,可以不传参,也可少传多传
例: function test(a,b){
    //函数内部的属性:
    //arguments是一个数组,可以把所有传递过来的参数,存放到这个数组中
    num=10;//局部变量前面的var不写,就会变成全局变量
    return a+b;
}
test(10,20,30,40,50,60);//可以多传

函数名.length;//获取函数形参个数
var test=(function(){})();//函数自调用

五、js内置对象

1、String字符串对象

创建String字符串对象:
var str=new String();
常用方法:
charAt() //返回在指定位置的字符。 
例: var v="abcd";
	var a=v.charAt(2);   
concat() //连接字符串。 
例: var v="ab";  
	var a="cd";
	var z=v.concat(a);
indexOf() //根据字符检索此符在字符串中的索引。 
例: var v="abcde";
	 var z=v.indexOf("c");			
lastIndexOf() //从后向前搜索字符串。 
substring() //提取字符串中两个指定的索引号之间的字符。 
例: var v="abcde";
	var z=v.substring(0,3); //含头不含尾
toLowerCase() //把字符串转换为小写。
toUpperCase() //把字符串转换为大写。 
replace() //替换字符串。
例: var v="abceaaaa";
	var z=v.replace("a","h");
split() //把字符串分割为字符串数组。
 例子:  var v="a#b#c#d";
		var arr=v.split("#");
trim()//去除字符串两端的空格

2、Number对象

创建Number对象:
var num=new Number(10);
var num1=Number(10);
常用方法:
toString() //把数字转为字符串
toFixed() //把数字转为字符串,结果保留指定位数
toPrecision() //把数字格式化为指定长度

3、Date对象

var date=new Date();
grtXxx();//获取时间
toLocaleString();//格式化日期

4、Array数组对象

//JS数组长度是可变的
//JS数组元素可以是任意类型
new Array();
new Array(1,"a",'a',true,new Object());
var arr=[1,2,3,4];
concat();//归并数组
join("-");//把数组元素用指定拼接符变成字符串
pop();//删除并返回数组最后一个元素
push();//往数组最后添加元素,返回新数组长度
reverse();//反转数组元素
shift();//删除并返回数组第一个元素
slice(0,2);//从0索引处开始,截取2个元素
sort();//不传参,默认按照字典顺序排,不按大小排
//若要按照大小排,那就传入一个比较器
arr.sort((a,b)=>a-b);//ES6的语法
splice(1,1);//从1索引开始删除1个元素
splice(1,1,111);//从1索引开始删除1个元素,然后再从1索引处开始添加若干元素
unshift();//向数组开头添加若干元素,返回数组新长度
filter();//检测数值元素,并返回符合条件的所有元素的数组
forEach();//每个元素都执行一次回调函数
isArray();//判断该对象是否为数组
indexOf();//获取指定元素索引
reduce();//将数组元素计算为一个值(从左到右)
map();//通过指定元素处理数组每个元素,并返回新数组

5、全局方法对象

isNaN(v);//判断一个数据是不是NaN
parseInt(str);//把字符串转为数字
parseFloat();//把字符串转为小数
decodeURI();//解码
encodeURI();//编码

6、正则表达式对象

var reg=new RegExp('^$',i);
var reg=/^$/i;
i://不区分大小写
g://全文匹配
reg.test(str);//判断字符串是否符合正则
exec();//截取符合正则的字符串

六、BOM

window.document;//获取html对象
window.location;//获取地址栏对象
window.history;//获取历史记录对象
window.screen;//获取屏幕对象
window.navigator;//获取整个浏览器对象

window对象中的方法:
弹框:
window.alert("警告框");
window.confirm("你确定吗?");//点确定返回true,取消返回false
window.prompt("请输入内容:");//返回输入内容
打开窗口://返回值为新页面的window对象
var win=
    window.open("http://www.baidu.com");
关闭页面:
window.close();

定时器:
window.setTimeout(函数,时长)//指定时长后执行函数
window.setInterval(函数,时间间隔)//每过指定时间间隔执行一次函数
clearTimeout();//取消定时器

window.location.href="http//www.163.com";//设置地址栏的内容,可以跳转新的页面
reload();//刷新

历史记录对象:
window.history.go(1)// 1下一个 -1上一个

七、DOM(文档对象模型)

Element //标签对象
Text //文本对象
Attribute //属性对象
Comment //注释对象
Document //整个文档对象
Node //节点对象   

获取标签对象:
var doc=window.document;//获取整个html文档对象
var mydiv=doc.getElementByID("div1");//通过id属性值获取唯一的元素
mydiv.innerText="abc";//设置div文本,将旧文本覆盖
mydiv.innerText+="abc";//设置div文本,追加在旧文本后
mydiv.innerText;//获取div文本
mydiv.innerHTML;//获取标签之间的HTML内容

getElementsByClassName()//通过class属性值获取元素对象数组
getElementsByTagName("div");//通过标签名获取对象数组
getElementsByName("username");//通过表单name值获取表单对象数组

给标签设置css属性:
bd.style.属性名;
如果css属性名称带有横杠,则需将横杠去掉,并把横杠后的第一个字母大写

创建方法:
document.createAttribute()	//创建一个属性节点
document.createElement()	//创建元素节点
document.createTextNode()	//创建文本节点
document.createComment()    //创建注释节点

八、事件

焦点事件:
	onfocus //元素获得焦点。 
	onblur  //元素失去焦点	
点击事件:
	onclick //当用户点击某个对象时调用的事件句柄。 
	ondblclick //当用户双击某个对象时调用的事件句柄。 	
键盘事件:
	onkeydown //某个键盘按键被按下。
	onkeyup //某个键盘按键被松开。 
	onkeypress //某个键盘按键被按下并松开。 
鼠标事件:
	onmousedown //鼠标按钮被按下。 
	onmouseup //鼠标按键被松开。 
	onmouseover //鼠标移到某元素之上。 
	onmouseout //鼠标从某元素移开。 
	onmousemove //鼠标被移动。 
表单事件:
	onsubmit //确认按钮被点击。 
	onreset //重置按钮被点击。 
加载与卸载事件
	onload //一张页面或一幅图像完成加载。 
针对表单:
 	onchange //域的内容被改变。 比如下拉框
 	onselect //文本被选中。
发布了55 篇原创文章 · 获赞 23 · 访问量 4341

猜你喜欢

转载自blog.csdn.net/y_Engineer/article/details/99643725
今日推荐