c,c++编译型语言,运行之前需要先编译再执行,javascript是解释型语言,代码是解释一条执行一条,java是半编译半解释语言,被编译之后是class字节码,再由解释器逐行执行,java是一个面向对象的语言,js是基于对象的语言,因为在es5中没有类,但是es6又有类,所以可以说是面向对象的语言,感觉js对比java来说代码更松散,js是个脚本语言
在script之中加入语句“use strict” 让当前的语法变的严谨,定义变量就必须比如var a=1;
而不能直接a=1;
对于数组,
数组的遍历
输出的是下标
输出的是元素
输出的是元素,相当于java的for each
输出的是元素
index查找
lastindex查找
每个加10传统的方法,注意数组是push
用map实现加20
过滤,自己加条件
伪数组的定义
伪数组,输出长度为3
没有问题是能够输出的
不能用foreach遍历,因为他是一个伪数组
真数组原型应该是array,同时内部有需要使用的函数例如map,push等
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20210720145413881.png
把伪数组变成真数组
可以传参数但是没有形参来接收
通过argument就代表方法本身接受的参数,但也是个伪数组,原型也是没有数组的方法,用foreach不能遍历
对象的使用
最简单直接的用object定义对象的方法
第二个用function的方法,注意必须要有new,而且谨慎使用name,可能会把原型中的name属性覆盖掉
定义一个类,相当于一个json字符串
注意和innertext的区别
一个简易的时钟
改进的时钟
加定时器,会动的时钟
事件四要素
事件源 :要触发的对象 (一般是名词,事件发起者,比如开关按钮)
事件类型
监听器
事件处理程序:发生了什么事情 (处理结果,比如灯亮了)
一个事件绑定
hover事件,记住驼峰命名法,在css中的background-color在js中必须编程backgroundColor,其中的this是谁在调用这个方法谁就是事件源,就是this,上图中div在调用
相对定位不会脱离文档流,绝对定位会脱离
有定位才能用left top
获取当前定位,初始的时候现在js是8888
auto是居中,relative是用相对定位改变文档流使得小球参展小方框进行绝对定位