<script>
document.getElementById("demo").innerHTML = "我的第一段 JavaScript";
</script>
1.可直接写在script里
2.输出
window.alert() 写入警告框
document.write(5+5) 写入 HTML 输出 永远显示在dom下面,自身的话按顺序排列不换行,只能用于测试
innerHTML 写入 HTML 元素
console.log() 写入浏览器控制台
3.js对大小写敏感
4. 声明的变量var carName值是undefined ,重复声明的值只要有就不会丢失
5.typeof 运算符把数组返回为 "object",因为在 JavaScript 中数组即对象。
typeof undefined // undefined
typeof null // object
null === undefined // false
null == undefined // true
typeof {name:'Bill', age:62} // 返回 "object"
typeof [1,2,3,4] // 返回 "object" (并非 "array",参见下面的注释)
typeof function myFunc(){} // 返回 "function"
6.函数,56需要return
<p id="demo"></p>
<script>
function myFunction(p1, p2) {
return p1 * p2;
}
document.getElementById("demo").innerHTML = myFunction(7, 8);
</script>
不返回的是一个函数声明function toCelsius(f) { return (5/9) * (f-32);}
<p id="demo"></p>
<script>
function toCelsius(f) {
return (5/9) * (f-32);
}
document.getElementById("demo").innerHTML = toCelsius;
</script>
两者方法访问对象 person.property 或 person["property"]
<script>
// 创建对象:
var person = {
firstName: "Bill",
lastName : "Gates",
id : 12345
};
// 显示对象中的数据:
document.getElementById("demo").innerHTML =
person["firstName"] + " " + person.lastName;
</script>
this用于函数person.firstName = this.firstName ,不过写法有点不一样person.fullName()
<script>
// 创建对象:
var person = {
firstName: "Bill",
lastName : "Gates",
id : 12345,
fullName : function() {
return person.firstName + " " + this.lastName;
}
};
// 显示对象中的数据:
document.getElementById("demo").innerHTML = person.fullName();
</script>
this.innerHTML改变了其自身元素的内容(button上显示时间)
<button onclick="this.innerHTML=Date()">时间是?</button>
\字符,' \'\' ' 或" \"\" "
7.JavaScript 从左向右进行编译。字符串相减乘除都会转数字,加不会,NaN(Not a Number)非数值,运算中使用了 NaN,则结果也将是 NaN,typeof NaN 返回 number,“55”+NAN =55NaN
eg:100 / "Apple"=NaN
8.isNaN() 确定某个值是否是数:true不是数
<script> true
var x = 100 / "Apple";
document.getElementById("demo").innerHTML = isNaN(x);
</script>
9.16进制数在程序里自动被转换,0x 16进制
<script> 255
var x = 0xFF;
document.getElementById("demo").innerHTML = "0xFF = " + x;
</script>
10.new关键字定义对象
<script> number object
var x = 123;
var y = new Number(123);
document.getElementById("demo").innerHTML = typeof x + "<br>" + typeof y;
</script>
11.forEarch 该函数接受 3 个参数:项目值,项目索引,数组本身
12.map创建新数组,不会更改原数组0
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
document.getElementById("demo").innerHTML = numbers2;
function myFunction(value) {
return value *0;
}
0,0,0,0,0
13.二进制转10进制
<script>
document.getElementById("demo").innerHTML = bin2dec(101);
function bin2dec(bin){
return parseInt(bin, 2).toString(10);
}
</script>
14.写法2
<script>
var x; // 声明 x
x = 5; // 把 5 赋值给 x
elem = document.getElementById("demo"); // 查找元素
elem.innerHTML = x; // 在这个元素中显示 x
</script>
15.严格模式,没声明不能用:严格模式使我们更容易编写“安全的” JavaScript,严格模式把之前可接受的“坏语法”转变为真实的错误。不允许重复参数名:https://www.w3school.com.cn/js/js_strict.asp
<script>
"use strict";
x = 3.14; // 会引发错误(x 未定义)
</script>