JavaScript
-
JavaScript
原名liveScrip
,由美国网景公司开发的一种用于对网页操作的脚本语言 -
脚本语言:(不需要编译
sql html css
)由某种解释器直接解释运行的 -
JavaScript是一种解释性的脚本语言
-
JavaScript是网页的行为,可以为网页提供各种行为(图片操作)
-
JavaScript一般一对< script>标签里面或者写在
.js
文件里面在链接到html文件里面
语法
声明变量
使用var
来声明
var a = "100"a = 100
注: 不需要声明变量类型,直接使用var声明,但是注意 值 是有类型的 赋值什么样的类型的值,则变量是什么对于 类型
变量类型
- 数值型(整型与浮点型)
- 波尔类型(boolean)
true 与 false
- 字符串(使用双引号框起来)
- undefined类型(声明了便量却没有初始化变量 值不明确)
运算符
- 算数运算
基本与java一样
注: +
不仅有加法功能也有字符串的连接功能,与java不同的是,-
当数字
与数字字符串
相减时,可以将字符串转化为数字进行相减,当然其他也是一样的都可以隐式把数字字符串转换为数值型(+
除外,是字符串连接)
- 赋值运算
=
- 比较运算
==
,===
,>/>=
,</<=
==
比较值是否相等,===
比较值和类型都是否相等
- 逻辑运算
&&
/||
/!
与C和java一样
定义函数(function)
function [函数名](不需要声明返回值类型)([参数列表(不需要声明类型)])
全局函数
-
alert()
消息接收框 -
confirm()
返回值 boolean类型 点击确定返回true
取消返回false
confirm("你是傻子吗")
-
prompt()
输入对话框(如果不输入返回null
)var a = prompt()alert(a)
-
typeof([变量])
返回变量类型 -
parseInt([变量])
把变量转换为Int类型 同理parseFloat([变量])
把变量转换为浮点型 -
eval([字符串])
将字符串作为脚本或者运算式来处理var a = 2 var s = "3+a*6" alert(eval(s))
事件
onclick()
鼠标点击时ondblclick()
双击事件onblur()
标签失去鼠标焦点的事件onfocus()
标签获鼠标得焦点事件onmouseover()
鼠标放标签上面触发事件onmouseout()
鼠标移开标签后除法事件onload()
打开**网页内容加载完毕后**自动打开某事件
如果在head上面直接调用某函数或者某种时间,那是在网页加载前触发的
onchange()
当输入框失去鼠标焦点,且内容发生改变时,触发的事件
数组Array
var a = new Array([多个变量]/none);
a.sort(numbersort)
在sort内部调用自定义的numbersort函数.每次传入两个值
自定义numbersort
,其中numbersort相当于排序规则
function numbersort(a,b){return a-b
}
HTML_DOM对象
DOM是Document Object Model文档对象模型,通过标签事件触发函数(js
),在函数中又返回来对网页中的标签事件操作,在js
中如何能够操作网页中的标签
- 在
JS
语言中,认为每个标签就是一个独一无二的对象 - 在
JS
语言中可以获得网页中的标签,这样就可以在JS
中标签的属性,内容,样式进行操作 - 要操作哪个标签,必须获得标签
获取标签的方法
- 可以通过
document
对象中的getElementById("[id名字]")
的方法
var obj = document.getElementById("[id]")
方法
obj.innerText
获取标签体的文本obj.innerHTML
获取标签体中的所有内容,包括子标签- 对标签的
CSS
属性进行操作obj.style.[属性] = [属性值]
如果有多个标签没有标明ID
,我们可以获取标签名字,使用数组获取对象
var obj = document.getElementByTagName("[标签名字]")
for(var i = 0; i<obj.length;++i){obj[i] // 每一个元素都是一个对象
}
console.log([内容])
把内容打印到浏览器的console上面
计时器
方法
setTimeout("函数",[时间])
未来的某时执行代码 会返回执行的次数clearTimeout([关闭的执行次数])
取,消setTimeout()
setInterval("函数",[时间])
每个指定时间重复调用clearInterval()
取消setInterval()