输出
DOM (Document Object Model)(文档对象模型)是用于访问 HTML 元素的正式 W3C 标准。
格式
那些老旧的实例可能会在
现在已经不必这样做了。
JavaScript 是所有现代浏览器以及 HTML5 中的默认脚本语言。
脚本位置
在 或者 的JavaScript
外部脚本不能包含
输出数据
window.alert() 弹出警告框。
<script>
window.alert(5 + 6);
</script>
document.write() 方法将内容写到 HTML 文档中。
<p id="demo">我的第一个段落</p>
<script>
document.getElementById("demo").innerHTML = "段落已修改。";
</script>
innerHTML 写入到 HTML 元素。
<script>
document.write(Date());
</script>
console.log() 写入到浏览器的控制台。
<script>
a = 5;
b = 6;
c = a + b;
console.log(c);
</script>
输出内容
使用 document.write() 向文档输出写内容。
如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖
语言结构
字面量
在编程语言中,一般固定值称为字面量,如 3.14。
数字(Number)字面量 可以是整数或者是小数,或者是科学计数(e)。
123e5就是123乘以10的5次方
变量
JavaScript 使用关键字 var 来定义变量, 使用等号来为变量赋值:
var x, length
x = 5
length = 6
语句
语句是用分号分隔:
注释
//
函数
function myFunction(a, b) {
return a * b; // 返回 a 乘以 b 的结果
}
换行
document.write("你好 \
世界!");
变量
Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。
数组
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
或者 (condensed array):
var cars=new Array("Saab","Volvo","BMW");
对象
var person={
firstname : "John",
lastname : "Doe",
id : 5566
};
对象属性有两种寻址方式:
name=person.lastname;
name=person["lastname"];
Undefined 和 Null
Undefined 这个值表示变量不含有值。
可以通过将变量的值设置为 null 来清空变量。
声明变量
var carname=new String;
var x= new Number;
var y= new Boolean;
var cars= new Array;
var person= new Object;
对象
和c++的类
事件
HTML 事件是发生在 HTML 元素上的事情。
当在 HTML 页面中使用 JavaScript 时, JavaScript 可以触发这些事件。
以下是 HTML 事件的实例:
-
HTML 页面完成加载
-
HTML input 字段改变时
-
HTML 按钮被点击
实例
<button onclick="displayDate()">现在的时间是?</button>
<input id="test" type="button" value="提交"/>
<script>
window.onload = function(){
var test = document.getElementById("test");
test.addEventListener("click",myfun2);
test.addEventListener("click",myfun1);
}
function myfun1(){
alert("你好1");
}
function myfun2(){
alert("你好2");
}
</script>
字符串
长度
可以使用内置属性 length 来计算字符串的长度:
var sln = txt.length;
转义字符
’ 单引号
" 双引号
\ 反斜杠
\n 换行
\r 回车
\t tab(制表符)
\b 退格符
\f 换页符
外引号和内引号不同可以不用加反斜杠
===
=== 为绝对相等,即数据类型与值都必须相等。
常用方法
查找指定字符,返回指定字符位置;unicode相关;分片;转换大小写;移除首尾空白;html显示方法(如闪动,加粗,斜体等)详细请按
- 运算符用于把文本值或字符串变量加起来(连接起来)。
txt3=txt1+" "+txt2;
条件运算符
voteable=(age<18)?"年龄太小":"年龄已达到";
return p>1?p<b?p>b:p=6:p=3; // 这一行中出现了多个问号和冒号,看起来很乱怎么办呢
其实很简单,寻找到多元运算符的头 ? 和尾 : 就好办多了
就成了这样:
p>1?p<b?p>b:p=6:p=3
p>1? 整体 :p=3
语句
大多数与c差不多
除了少数
for
for (x in person) // x 为属性名
{
txt=txt + person[x];
}
for 循环除了使用 in 方式来循环数组,还提供了一个方式: of , 遍历数组时更加方便。
for (let value of iterable) {
console.log(value);
}
for-of 的语法看起来跟 for-in 很相似,但它的功能却丰富的多,它能循环很多东西。
我们可以使用const来替代let,这样它就变成了在循环里的不可修改的静态变量。
let iterable = [10, 20, 30];
for (const value of iterable) {
console.log(value);
循环一个Map:
let iterable = new Map([["a", 1], ["b", 2], ["c", 3]]);
for (let [key, value] of iterable) {
console.log(value);
label & continue &break
如需标记 JavaScript 语句,请在语句之前加上冒号:
label:
statements
break 和 continue 语句仅仅是能够跳出代码块的语句。
语法:
break labelname;
continue labelname;
continue 语句(带有或不带标签引用)只能用在循环中。
break 语句(不带标签引用),只能用在循环或 switch 中。
通过标签引用,break 语句可用于跳出任何 JavaScript 代码块:
实例
cars=["BMW","Volvo","Saab","Ford"];
list:
{
document.write(cars[0] + "<br>");
document.write(cars[1] + "<br>");
document.write(cars[2] + "<br>");
break list;
document.write(cars[3] + "<br>");
document.write(cars[4] + "<br>");
document.write(cars[5] + "<br>");
}
其他基础知识
typeof
你可以使用 typeof 操作符来检测变量的数据类型。
实例
typeof "John" // 返回 string
typeof [1,2,3,4] // 返回 object
typeof {name:'John', age:34} // 返回 object
null
在 JavaScript 中 null 表示 “什么都没有”。
你可以设置为 null 来清空对象:
实例
var person = null; // 值为 null(空), 但类型为对象
undefined
typeof 一个没有值的变量会返回 undefined。