NaN的认识
- Not a Numeber
- NaN属于数值类型,是用来记录一个特殊的数值类型的字符,但是表示不是一个数字
- NaN和自身也不相等
js书写位置
- 1.行内式:
<button onclick="alert('你好吗')">点击我</button>
- 2.外双内单的格式:
<a href="javascript:;" ></a>
- 3.内嵌式:
<script></script>
- 4.外链式:
<script type="text/javascript" src=".js"></script>
这对标签之间不能写任何东西。
onload事件的认识
- 1.获取标签
- 当页面加载完毕后才可以去获取标签,这样才能获取到标签
- 页面加载完毕可以通过window.onload
排他思想
- 选中的目标进行改变,其他没有选中的目标回复原状。
- 中心思想:首先清除所有人,然后留下我自己。
- window.onload=function(){}写一次
<div id="box">
<button>第一个</button>
<button>第二个</button>
<button>第三个</button>
<button>第四个</button>
<button>第五个</button>
</div>
<script>
window.onload = function () {
//1.获取标签
var btns = document.getElementById('box').getElementsByTagName('button');
//2.点击每一个按钮让切换颜色
//2.1遍历按钮
for(var i = 0 ;i < btns.length;i ++){
btns[i].onclick = function () {
//2.2点击按钮的时候,我们要让其余的按钮为原来的颜色,我们点击的按钮为想要的颜色
//2.21.让所有的按钮的颜色为原来的颜色,我们需要拿到所有的按钮,所以我们需要遍历按钮
for(var j = 0; j < btns.length;j ++){
btns[j].className = '';
}
//2.22设置我们点击按钮为我们想要的颜色
// btns[i]:表示点击的按钮
//this:一般放在事件指令中,表示谁被触发了,就是我们事件源,这里就是表示点击了哪个按钮
this.className = 'curr';
}
}
}
</script>
</body>
绑定类名设置颜色
var box = document.getElementById('box');
2.通过绑定类名来设置颜色
box.className = 'curr';
九宫格算法
- 1.首先我们要获取需要的标签
- 2.实现点击按钮切换每一个方块的位置
- 2.1利用for循环设置每一个按钮的位置
- 2.2先计算行号和列号(这里的行号列号是角标号)列号是余,行号是除。
- 2.3 计算每个方块的top,left值。left值=列号方块的宽度+左右内外边距,top值=行号是方块的高度加上下内外边距。
- 2.4给每个按钮定位(最后定位的时候不要忘记加上px符号)
数组常见方法
- 1.创建数组
var myArray2 = [2,3,5,123,6,21];
* 2.数组的连接方法(.concat)
``` var myArray3 = myArray1.concat(myArray2);
console.log(myArray3);
* 4.给数组同步添加一个元素(unshift())
```var length2 = myArray2.unshift(20);
console.log(myArray2);
console.log(length2);
凡是数组中添加元素都是返回数组的长度
* 6.删除头部元素(shift())
``` var delSym2 = myArray2.shift();
console.log(myArray2);
console.log(delSym2);
凡是删除元素都是返回删除的元素
myArray1.splice(2,4);
console.log(myArray1);
一般这个方法有两个参数,第一个表示从某一个位置开始删除,第二个表示删除元素的个数
* 9.将有规律的字符转化成数组,使用参数中传入的值进行分割(split('-'))
```var lastArray = lastString.split('-');
console.log(lastArray);
字符串的常见的方法
* 2.转化成数值类型
```var myNum = Number(myString);
- 3.截取两位小数部分
console.log(dotNum);
* 4.使用别的方式来设置两位小数
``` var dotNum2 = myNum.toFixed(3);
console.log(dotNum2);
字符串常用的方法
* 2.indexof可以用来获取某个字符的位置,注意如果要获取的字符有多个同样的字符,那么只会获取第一个字符的位置,获取字符位置顺序是从左到右。
```例如:var index = myString.indexOf('a');
console.log(index);
会获取name中的a的位置,也就是4。
``
* 3.lastIndexOf是从后到前获取我们对应的字符的位置,当找到第一个字符后就停止,获取的字符的位置的排序还是从左到右。
```var lastIndex = myString.lastIndexOf('a');
console.log(lastIndex);
会获取jack中的a的位置,也就是12。
* 4.1获取某一个位置对应的unicode编码
```var myUsym = myString.charCodeAt(16);
console.log(myUsym);
获取的是对应的unicode编码号。
- 注意;如果获取的unioode编码值是大于127,那么这个字符应该是个汉字
字符串的截取
* 2.截取字符,slice()会从第一个参数位置开始截取到第二个参数位置,但是注意不包含第二个参数的位置对应的字符。如果要是第二个参数不传入值,会直接截取到字符串的结尾。
``` var mySliceString = myString.slice(2,3);
console.log(mySliceString);
会截取到=的内容是“i”。
var mySliceString1 = myString.slice(2);
console.log(mySliceString1);
会截取的内容是“isrose 我的”。