ECMAScript:
尽管ECMAScript是JAVAScript的核心部分,但是不是唯一的部分,也不是唯一标准化的部分。
实际上,一个完整的JavaScript实现由3个不同部分组成。
核心:(ECMAScript)(属于语法规范)
文档对象模型:(DOM) (整合js,css,html),DOM是最重要的,必须学。
浏览器对象模型(BOM)(整合js和浏览器)
JavaScript在开发中绝大多数情况是基于对象的(大多数情况下不用创建类,对象大多数已经存在了,即已经提供好的对象),也是面向对象的。
JS的引入方式:script的放置位置有时有影响,习惯放在body最后。
<script src="test.js"> </script>
alert(123)
</script>
第二种:导入方式
<script src="test.js">
</script>
js是一种很随便的语言:
js基础:
变量的声明:使用var关键字,类型不用定义
如var a,name="zhang"
var x=12;
console.log(x);
使用console.log()来打印,也可以使用alert()
每条语句的结束使用;来结束。
一行可以声明多个变量,可以是不同类型:
如var name="zhang",age=28;$美元符,三选一,并且变量区分大小写。
变量还应遵循以下某条著名的命名规则。
单行注释使用 //
多行注释使用/* */
使用{}来封装代码块。但在python中使用缩进来实现代码封装。
function f() {
var x;
}
python中定义函数使用def关键字,但是在js中使用function关键字。
<script> function f() { var hello="标红"; document.write(hello); } f() </script>
js的基本数据类型:
object对象存储在堆里面。
script> function f() { document.write("<h1>hello zhang</h1>"); // document.write是在给网页中写东西。console.log()相当于python中的print } f() </script>
声明课一个变量,但是没有对变量进行赋值或者函数没有返回值,调用函数是类型都为undifined
null为空对象。
for循环在js中很有用,要练的很熟练。必须掌握。
<script>
var x=1;
var sum=0;
while (x<=100){
sum=sum+x;
x++;
}
console.log(sum)
</script>
<script>
var sum=0;
for (var i=0;i<=100;i++){
sum=sum+i;
}
console.log(sum)
</script>
<script>
try{
console.log("niaho");
throw error("出现了错误");
}
catch(e) {
console.log(e)
}
finally {
console.log("finally")
}
<script>
//创建字符串对象的两种方式:
var str1="hello";
var str2=new String("hello2");
</script>
字符串有属性length,还有很多方法。
列表等在js中是数据对象类型
<script> var arr1=[1,2,3,"name"]; var t=arr1.concat("zhang"); console.log(t); console.log(typeof t); var p=arr1.reverse();//反转 console.log(p) var pp=arr1.sort()//排序是按最高位从小到大排序的,不是按数值大小来的。 console.log(pp) </script>
function f(a,b) { if (a > b) { return 1 } else if (a < b) { return -1; } else { return 0 } } console.log(arr1.sort(f)); 按大小排序
两个栈操作只是位置不一样。
函数对象:
<script>
//匿名函数
(function (a,b) {
console.log(a+b);
})(1,2)
</script>
<script> //argument对象,传几个参数就接受几个参数, function f() { var sum=0; for (var i=0;i<arguments.length;i++){ sum+=arguments[i]; } return sum; } b=f(1,2,3,4,5,6) console.log(b) </script>