Js 是边编译边执行的语言,弱类型,严格区分大小写
在HTML中引用JavaScript
用
<script>
在标签中间直接写JS代码<script> var a=10; </script>
<script src="test.js">
引用js文件,标签中间不能加内容- 用
<a href="javascript: void(0);" onclick="alert('显示提醒')">
在a标签中执行JavaScript内容
比较好的是方法二,模块化,利于后期修改
JavaScript引用HTML内容
直接通过标签中的id名字
JavaScript中内置一个对象document,表示整个HTML文档
1
document.getElementById("idname")
注意只有这个的Element是单数!! ID唯一性!
通过class获取多个元素
1
2document.getElementsByClassName("classname")
document.getElementsByClassName("classname").length//获取个数通过class获取多个元素
1
2
3document.getElementsByClassName("classname")
document.getElementsByClassName("classname").length//获取个数
document.getElementsByClassName("classname")[0]//获取其中一个元素,比如class="list",就获取第一个<li>元素同理,通过Tag Name获取多个元素
1
document.getElementsByTagName("tagname")//例如li/a/等标签均可,同样可以length,[0]
同理,通过Name获取多个元素
(标签中的name=”xxx”参数)
1
document.getElementsByName("name")//同样可以length,[0]
获取对象后.可以直接.xxx属性对其进行修改等操作 比如修改class(.className=”newclassname”/ .id=”newid”)
1 | var inp = document.getElementsByClassName("inp")[0];//<input>类型 |
变量
用var
声明,无初始值则默认undefined
可以通过.innerXXX修改其内容
1 | var a = document.getElementById("idname"); |
1 | //对变量可以进行操作检测 |
数据类型
Number
String
Boolean
function
var f = function(){alert(“hello”)}
undefined 值也是undefined,无任何属性(不能.xxx)
null是正确的空值-关键字,undefined是错误空值-预先声明的全局变量
1 | xxx instanceof XXX //判断类型 true/false |
function
函数需要通过变量引用
1 | //声明 |
this 关键字
驱动/调用该函数的对象
1 | box.onClick = f1;//不加括号-否则会执行 |
若没有用一个变量调用,则this指向window
定义和执行
var和function都是定义,js执行时先定义后执行/赋值;函数作用域优先于外部定义域(在函数定义域内同样是先定义后执行赋值操作,但注意是边编译边执行,只有运行到function时才会声明函数作用域内的变量)
闭包
1 | return f2; |
数组
可选逗号结尾,可以在最后多一个逗号
1 | var arr = [ , , ]//认为length=2 |