一:分三个部分。
1.ELMASCRIPT(语法)
2.DOM
3.BOM
二:代码写的地方分为:内部和外部
1.内部:可以写在HTML的任何位置,写在一个带码中。
注意点:如果导入JS文件后这个标签里面的代码就无效了。
2.外部:重新创建一个JS文件,然后在HTML中导入《script src=“导入的地址”》
三:JS输出
1.alert("内容"):弹出提示框,
2.console。log(1/“内容”)输出在浏览器中
3.(不建议使用)在编辑器中的控制台中显示:document.write(“hello”)
四:数据类型:
和Python相同的(Number,String,Boolearn,)
不同的:Array(数组),object(对象),underfine(未定义),Null(空)
注意点:用underfine定义的变量不能用,所以一般不初始化变量就赋值空值:a= Null
五:创建变量的两种方式:
1.隐式创建:a=0
2.显示创建:var a = 0
六:查看类型:
·· type of 数据类型
七:类型转换:
1.parseInt():纯数字和数字加字幕可以转换成整形,但是字母放前面就不行
如(aaaa123)不行 结果为NaN
2.perseFloat:转换成浮点型
如: console.log(parseFloat('12.2.3..3'))=》12.2
八:.NaN:not a number (结果不是数值)
0/0= NaN
判断是否为NaN:isNaN():会先将参数转换成数值,如果不能转换就是True
如:isNaN(“字符串”)-》true
isNaN(“True”(转换成数值位1))-》Flase
九:.Infinity(正无穷大)加符号表示(负无穷大)
-8或者8/0
十基本语法:赋值:
1.==表示值相同就行,类型不同没事
2.!=同
3.===表示值和类型都得相同
4.!=表示值和类型有一个不同就是不同
字符串拼接-》+
特殊:“1”+1(1+”1“)=》”11“
:1+2+“3”:先进行1+2=3
@之后再进行3+“3”,将3强制转换类型进行字符串拼接
逻辑运算:&&与 |或| !非
5.自增或者自减:++a a++ --a a--(这是一个整体如++a*3是*上++a这个整体)
@++在前表示先a的值加1在进行操作,在后就先进行操作再给a++1,(注意点:很容易先操作了,然后忘了给a++1,导致后面用到a算的时候出错)、
6.三目运算符:a%2?console。log(“奇数”):console.log(“偶数”)
第一个是条件,判断是否满足这个条件,?:后表是满足这个条件进行的操作,:不满足。。。。
7.函数,定义function函数名(参数){函数体}
匿名函数:fn=function(){函数体}
注意点:console.log(fn):输出的是fn的整个内容:fn=function(){函数体}
console.log(fn()):输出的才是函数值
8.swich语句:
swich(变量或者表达式){
case 写具体的数值比如a=1,不能写a》1之类:{语句一 break}
如果不加break则会在一开始匹配的位置向下贯穿知道break或者default
......
default:{}以上匹配不到的话执行这里面的语句
}
9.for-in
for(i in 【1,2,3,4】):这里i不再是Python中的表示列表的元素,而是表示元素的下标
10.object={与Python中的字典相同,遍历获取的值也是key的值}
11.for(i=0(初始值只定义一次);i > 0 (条件);i++1(操作可以进行其他的操作)){循环体}
注意“ ;”,注意i如果从0开始一般i的条件一句都是用《。如:i<100;i 如果是从一开始:i=1,i<=100;一般就是用小于等于号
循环嵌套:不能直接输出,
str = “”
for(i = 0;i < 5; i++){
操作
for(j = 0;j < 5 ;j++){
str+= i+""
}
str+="\n 换行
}
conlose.log(str)
12.while:用法与Python相同
do_while:将函数体放在前面do{}while():注意:函数体至少会被执行一次(一般不用)
for用于次数固定,while用于次数不固定
13.数组:
创建:用new-》var a =new 数组名(可以写多个参数,写一个参数的时候表示是一个多..长的空数组)
直接创建:var a = 【1,2,3】
长度:a.length()一般用于遍历的条件语句
添加:a.push()(一个或者多个)
排序:a.sort():默认以字符串的形式比较,如果要以数字的形式升序或者降序,需要加参数
a.sort(funct(a,b) {return a >b (升序) 或者 a < b(降序)})
提取:alice(n,m)类似Python中的截取生成新的数组不会改变原来的数组,
alice(2,5)= 》list【2,5】也是前闭后开
截取:splice(n(截取的下标位置)m(截取多少个) str1...(第是三个参数后面所有的参数是替换的内容,每一个为一个元素))会改变原数组,包括真的截取,替换(可以看成截取一段后再放一段内容进去,这一段可以使多个也可以是一个)
splice(2,0,“大萨达”):在下标二的位子0表示插入后面的内容
splice(2,3,“大萨达”,“大萨达”):在下标2的位子后面的3个元素替换成str1str2
得到的还是原来的数组(改变了的)
join:a。join()得到的是一个字符串 a是数组 用法和Python差不多就是写的位置在括号里面。
得到一个字符串。
1.可以看做一个特殊的字符
2.将ACII码转换成字符:
chr = string.fromCharCode(97)
3.随机数:Math.random()----[ 0 ,1 )
4.查找:str.inserdof(" 子字符) 没找到返回-1
5.替换:str.replace
6.拆分(得到列表):str.split():默认是将整个字符串作为一个元素(“”)加空字符是将字符串的每个元素作为一个元素,
7.字符串的倒叙输出:
str.splict(“”).reverse().join(“”)
8.大写:toUpper() 小写toLower()
一:日期
1.创建:
a = new Date():当前时间
a = new Date(指定时间)
2.获取当前时间:
a.getfullTear():获取当前的年份。a.getMonth()获取当前的月份(里面加数值是获取指定的年方或月份或天数(Date')或小时分钟秒钟或时间戳:Time)
二:对象
创建:直接创建:和字典一样,赋值创建:点语法
元素有函数时,函数名:function(){}或者b.函数名=func(){}
使用:b.name或者b["name"]
b.函数名()
一:定时器和Dom操作:
获取当前元素:
var m = documen.getElementByID("元素的ID名")
事件(谁的点解事件 点击事件)
m .onclik = function(){
元素的内容的获取:m.innerHTML
获取文本框的内容:文本框先有定义空属性value,通过m.value获取
设置节点内容:
m.innerHTML = 值
b = backgroColor(原本是backgr-color “ -”改为...)
}var i = 0
开启定时器(不关闭就不要用变量接收):
temp = setInterval( fn()
i++
if (i == 5){ clearInterval(temp)(关闭计时器) }
}, 时间(毫秒))
创建元素:document.creatElement(“元素名”)
添加元素:a。append(b)
二:延迟期:(运行一次)
开启:temp = setTimeout(fn(){
clearTimeout(temp)
}, 时间(毫秒:过多长时间开始运行))
轮播图:
一:
利用定时器没过几秒就修改一下插入图片的路径(需要一定样式的图片组)
二:先第一一个需要和一张图片大小一样的盒子,超出部分隐藏
在定义一个盒子高度和图片一样,宽度是所有图片的总和,然所有图片左浮动
让第二个盒子的相对定位用定时器:每隔几秒改变一下定位的-left值,每次改变一个图片的宽度
(第一图片0,第二个图片-1*200px,第三个图片-2*200px....)( 1 = 2%图片数,。。。。 )