门客户端脚本语言
。是运行在客户端浏览器上面的,每一个浏览器当中都有JavaScript的解析引擎。C--
(因为有一门语言叫C++
),妄想的靠语言名字来流行。后来更名为ScriptEase
。C--
语言,因此也开发了一门客户端脚本语言,命名LiveScript
。在同一年Java
语言面世,后来就请来了SUN公司的程序员,两家公司在LiveScript
基础上修改,最后命名为JavaScript
,还是想要借助Java
语言的名声来流行。JavaScript
开发出来了JScript
,并将其搭载到ie
浏览器上面。JavaScript
= ECMAScript
+ BOM
+ DOM
;
标签,可以定义在html
文件的任意位置<html>
<head>
<meta charset="UTF-8">
<title>JS与HTML的结合方法式title>
<script>
alert("Hello World!");
script>
head>
<body>
<input type="text">
body>
html>
当中添加src
目录<script src="js/web.js">script>
// 注释
/* 注释 */
number : 整数/小数/NaN(not a number 一个不是数字的数字类型)
string : 字符/字符串
boolean : true/false
null : 一个对象为空的占位符
undefined : 未定义,如果一个变量没有给初始化值,则会被默认赋值为undefined
var name = value
var num1 = 1;
var num2 = 1.2;
var num3 = NaN;
document.write(num1 + "
");
document.write(num2 + "
");
document.write(num3 + "
");
var str1 = 'abc';
var str2 = "a";
document.write(str1 + "
");
document.write(str2 + "
");
var flag = true;
document.write(flag + "
");
var obj1 = null;
var obj2 = undefined;
var obj3;
document.write(obj1 + "
");
document.write(obj2 + "
");
document.write(obj3 + "
");
typeof
运算符:可以判断数据类型var num1 = 1;
var num2 = 1.2;
var num3 = NaN;
document.write(typeof num1 + "
");
document.write(typeof num2 + "
");
document.write(typeof num3 + "
");
var str1 = 'abc';
var str2 = "a";
document.write(typeof str1 + "
");
document.write(typeof str2 + "
");
var flag = true;
document.write(typeof flag + "
");
var obj1 = null;
var obj2 = undefined;
var obj3;
document.write(typeof obj1 + "
");
document.write(typeof obj2 + "
");
document.write(typeof obj3 + "
");
// ===:全等于,在比较之前首先判断数据类型是否相同
function print() {
for(var i = 1; i <= 9; i++) {
document.write("");
for(var j = 1; j <= i; j++) {
document.write("");
document.write(j + "×" + i + "=" + i * j);
document.write(" ");
}
document.write(" ");
}
}
document.write("");
print();
document.write("
");
td {
border: 1px solid yellowgreen;
}
* {
color: green;
}
// 计算任意个数的和
function add() {
var sum = 0;
for (var i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum;
}
document.write(add(3, 4, 5, 6));
var fun = new Function(参数列表,方法体)
var fun = new Function("a", "b", "alert(a);");
fun(3, 4);
function fun(value1,value2,...,valuen) {}
function print(st, ed) {
for(var i = st; i <= ed; i++) {
document.write(i);
}
}
print(1, 10);
var fun = function(value1,value2,...valuen) {}
var fun = function (st, ed) {
for (var i = st; i <= ed; i++) {
alert(i);
}
}
fun(1, 10);
var array = new Array(1, "abc", 3);
document.write(array + "
");
var array = new Array(1, "abc", true);
document.write(array.length + "
");
array[100] = "cjd";
document.write(array.length);
var array = new Array(value1,value2,...,valuen)
var array = new Array(length)
var array = [value1,value2,...,valuen]
var array = new Array(1, 2, 3);
document.write(array + "
");
array = new Array(7);
document.write(array + "
");
array = [4, 5, 6];
document.write(array + "
");
join()
:将数组当中的元素按照指定的分隔符拼接成字符串var array = new Array(1, "abc", true);
document.write(array.join("?"));
push(value1,,value2,...,valuen)
:向数组当中添加一个或者是多个元素var array = new Array(1, "abc", true);
document.write(array + "
");
array.push("hello", 3, 6, false);
document.write(array + "
");
var date = new Date()
var date = new Date();
document.write(date);
toLocaleString()
:转化为当地的时间var date = new Date();
document.write(date.toLocaleString());
getTime()
:获取毫秒值,当前日期对象和1970年1月1日0点的毫秒之差var date = new Date();
document.write(date.getTime());
random()
:产生[0,1)
之间的随机数字ceil(x)
:x上取整floor(x)
:x下取整round(x)
:x四舍五入成最接近的整数[]
:方括号当中的所有字符当中的一个字符\d
:单个数字字符,[0-9]
\w
:单词字符,[a-zA-Z0-9_]
*
:表示出现0次或多次?
:表示出现0次或1次+
:表示出现一次或多次{n,m}
:出现次数[n,m]
^
:开始$
:结束var reg = new RegExp("expression")
var reg = /expression/
test(str)
:验证指定字符串是否符合正则定义的规范var reg = new RegExp("^\\w{6,12}$");
var reg2 = /^\w{6,12}$/;
var username = "zhangsan"
alert(reg.test(username));
alert(reg2.test(username));
wd=%E7%99%BE%E5%BA%A6%E7%BF%BB%E8%AF%91
enCodeURI()
:url编码deCodeURI()
:url解码enCodeURIComponent()
:url编码,编码的字符更多deCodeURIComponent()
:url解码,解 码的字符更多var str = "百度翻译";
document.write(encodeURI(str) + "
");
document.write(decodeURI(encodeURI(str)) + "
");
document.write(encodeURIComponent(str) + "
");
document.write(decodeURIComponent(encodeURIComponent(str)) + "
");
parseInt()
:将第一个不是数字的字符之前的全部转变为数字isNaN()
:判断是不是NaN,NaN参与的所有==
判断全部为falsevar str = "6457365782348BG462378146128";
document.write(parseInt(str));
var str = "a6327367128";
document.write(isNaN(parseInt(str)));
eval()
:将JavaScript的字符串转化,并将它作为脚本代码来执行var jscode = "alert(\"HELLO WORLD!\");";
eval(jscode);
window.function()
,可直接调用方法,并且window
可以省略不写,直接调用方法即可history location navigator screen
:可以获取其他的BOM对象document
:获取其他的DOM对象alert()
:显示带有一段消息和一个确认按钮的警告框alert("HELLO WORLD!");
confirm()
:显示带有一段消息以及确认和取消按钮的对话框if(confirm("您确定取消吗?")) {
alert("yes");
} else {
alert("no");
}
prompt()
:显示可提示用户输入的对话框var str = prompt("请输入用户名");
document.write(str);
open(url)
:将在新的标签页当中打开指定url的网站,并且返回一个新的window对象close()
:原型为window.close()
,由于省略window
,实际上是谁调用close()
关闭谁var openWindowButton = document.getElementById("openWindowButton");
var newWindow = null;
openWindowButton.onclick = function () {
newWindow = open("https://www.baidu.com");
}
var closeWindowButton = document.getElementById("closeWindowButton");
closeWindowButton.onclick = function() {
newWindow.close();
}
setTimeout()
:在指定的毫秒数后调用函数或者是计算表达式,是一次性的clearTimeout()
:取消由setTimeOut()
方法指定的timeout
setInterval()
:按照指定周期(以毫秒)计数,来调用函数或计算表达式,是重复性的,返回唯一标识setInterval()
:取消由setInterval()
设置的timeout
//setTimeout(setColor, 5000);// only one
var id = setInterval(setColor, 2000);
function closeInterval() {
clearInterval(id);
}
setInterval(closeInterval, 6000);
function setBackground() {
if(backFlag) {
document.body.style.backgroundImage = "url('img/on.jpg')";
} else {
document.body.style.backgroundImage = "url('img/off.jpg')";
}
backFlag = !backFlag;
}
setInterval(setBackground, 3000);
href
:设置或者是返回完整的urlreload()
:刷新当前页面var reloadButton = document.getElementById("reloadIndex");
reloadButton.onclick = function () {
location.reload();
}
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/index.css">
head>
<body>
<div>
<span id="time">5span>
<span>秒之后,自动跳转到首页...span>
div>
body>
<footer>
<script src="js/index.js">script>
footer>
html>
#time {
color: red;
}
div {
width: 30%;
font-size: 18px;
font-weight: 700;
text-align: center;
margin: 0 auto;
}
var time = 5;
function setTime() {
time--;
if (time == 0) {
clearInterval(id);
location.href = "./web.html";
}
var text = document.getElementById("time");
text.innerHTML = time;
}
var id = setInterval(setTime, 1000);
back()
:后退forward()
:前进go(count)
:count为正数的时候,将会前进count个历史记录;count为负数的时候,将会后退count个历史记录length
:当前窗口的历史记录的个数getElementById()
:根据id属性值获取元素对象。id属性值一般唯一getElementsByTagName()
:根据标签的名称获取标签对象。返回值是一个数组getElementsByClassName()
:根据class的属性值获取元素对象getElementsByName()
:根据name属性值获取元素对象createAttribute()
:创建属性对象createComment()
:创建注释对象createElement()
:创建元素对象createTextNode()
removeAttribute()
:删除属性setAttribute()
:设置属性appendChild()
:向节点的子节点列表添加新的子节点removeChild(node)
:删除并返回当前结点的子节点replaceChild()
:用新节点替换一个子节点var element_a = document.getElementById("dve");
element_a.onclick = function () {
var node_s = document.getElementById("s");
var node_ss = document.getElementById("ss");
node_s.removeChild(node_ss);
}
var element_b = document.getElementById("dev");
element_b.onclick = function () {
var node_s = document.getElementById("s");
var node_ss = document.createElement("span");
node_ss.setAttribute("id", "hellow");
node_s.appendChild(node_ss);
}
parentNode
:返当前节点的父亲节点