目录
JS说明
JS已经是一个编程语言了,对比 Java去学习即可
1.JS语言的基本知识:语法、主要数据类型...(对比Java去学)
2.浏览器相关的API(如何操作浏览器、如何操作 DOM文档(HTML结构))
如何运行JS
1.实际生产中主要用到的,挂靠在HTML上运行
<script src="JS的路径"></script>
<script>这里写js</script><script> alert('我是内联的 JS') </script> <script src="./demo.js"> </script> alert('我是外部的 JS')
2.学习阶段,利用浏览器开发者工具上的控制台(console)面板可以即写即生效的写js
随便打开一个网页(任意网页都行,建议准备一个空白网页)
JS语法
1.JS不需要main 函数的
Java:"所有语句”都必须放在一个方法中,并且只有到这个方法被调用时,这些语句才会被执行。
JS:如果语句放在函数〈方法)中,则语句在函数被调用时才会执行;如果语句放在最外侧,则,JS加载完成,浏览器就会执行这些语句。
2.JS中一条语句,可以用";"作为结尾,也可以不用。除非一行中有多条语句
Java:语句必须用分号作为结尾
3.变量的定义:
很重要:JS中的数据是有类型的,但JS中的变量是无数据类型对比Java:数据有类型,变量也有类型。相当于JS中的所有数据,无论其细分类型是什么,但都是以一个对象的形式来体现。
JS比Java这种宣称的面向对象语言更面向对象,Java还有8种基本类型不是对象,JS中全部是对象,哪怕1也是对象。
变量的作用域the scope of a variable
粗糙地说:以大括号来划定作用域
打印
JS的数据类型
类型转换
// "1”-> 1 var i = new Number("1"); var j = parselnt("1");
JS和Java比较
数组
长度不是容量,而是元素个数
打印元素
读取下标
JS中的数组的现象类似Java 中数组和顺序表结合的现象
1. 初始化方式var a = []
2. 数组的长度(含义:内部的元素个数) a.length
3. 合法下标: index >= 0 && index < a.length
4. 访问非法下标不会报错:
如果是get,得到undefined
如果是set,正常赋值,会产生空洞【一般别这么干】5. 和变量一样,数组中的元素也是无类型的(其实是一个引用类型)。所以,一个数组中可以保存任意类型的元素,甚至元素之间的类型可以不一致。
![]()
那么对undefined / null做解引用会发生什么?
undefined / null: 引用不指向任何的对象
解引用操作,通过引用读取/修改该引用指向的对象;所以,无法进行该操作(以异常的形式体现出来)。
常见操作和方法
从顺序表角度来看的操作:
函数
![]()
![]()
![]()
匿名函数
回调函数
JS中的"对象"
原则上,其实JS中的所有数据都是对象(数、字符串、布尔值、数组、函数、异常值、“对象"),是VM的内部对象。
这里的“对象”,是应用开发者眼中的对象。
在Java 这种强类型语言下,对象只是有约束的 key-value。Map是没有约束的 key-value,逻辑结构其实是一体的。
定义对象的方法-1:
![]()
对象中this的使用
类
重要的API
document
查找元素
HTML标签或者HTML元素 中常见属性
小结
对象