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、数学运算符
算术运算符:+ - * / % ++ --
赋值运算符:= += -= *= /= %=
自动类型转换:当这个运算符运算的值和他期望的值不一样,就会发生自动类型转换
字符串转数字:
例1 :
var a= "2" ;
var b= 3 ;
var c= a* b;
例2 :
var a= "a2" ;
var b= 3 ;
var c= a* b;
布尔类型转数字:true 转1 false 转0
2、比较运算符
!= == === >= <= > < instanceof
=== 全等号:如果类型不一致,直接false ,类型一致再去比值
比较字符串内容是否相同: == 或===
字符串转布尔类型:空串转false 非空串转true
数字类型转布尔类型:0 转false 非0 转true
对象转布尔类型:null 转false 非null 转true
undefined转为布尔类型:转为false
NaN 转布尔类型:转为false
四、函数
定义函数:
方式一:
function 函数名 ( ) {
}
调用: 函数名 ( ) ;
方式二:
var 函数名 = function ( ) {
}
函数的参数和返回值:
例: function test ( a, b) {
num= 10 ;
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数组对象
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 ) ;
sort ( ) ;
arr. sort ( ( a, b) => a- b) ;
splice ( 1 , 1 ) ;
splice ( 1 , 1 , 111 ) ;
unshift ( ) ;
filter ( ) ;
forEach ( ) ;
isArray ( ) ;
indexOf ( ) ;
reduce ( ) ;
map ( ) ;
5、全局方法对象
isNaN ( v) ;
parseInt ( str) ;
parseFloat ( ) ;
decodeURI ( ) ;
encodeURI ( ) ;
6、正则表达式对象
var reg= new RegExp ( '^$' , i) ;
var reg= /^$/i ;
i: / / 不区分大小写
g: / / 全文匹配
reg. test ( str) ;
exec ( ) ;
六、BOM
window. document;
window. location;
window. history;
window. screen;
window. navigator;
window对象中的方法:
弹框:
window. alert ( "警告框" ) ;
window. confirm ( "你确定吗?" ) ;
window. prompt ( "请输入内容:" ) ;
打开窗口:
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 )
七、DOM(文档对象模型)
Element
Text
Attribute
Comment
Document
Node
获取标签对象:
var doc= window. document;
var mydiv= doc. getElementByID ( "div1" ) ;
mydiv. innerText= "abc" ;
mydiv. innerText+= "abc" ;
mydiv. innerText;
mydiv. innerHTML;
getElementsByClassName ( )
getElementsByTagName ( "div" ) ;
getElementsByName ( "username" ) ;
给标签设置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