1. js小案例
游戏如下图:
上面代码是源码中的一句话:
Math.floor(Math.random() * 100);
这句话是生成0-99的随机数,其中Math.random()
是生成0-1之间的十进制随机数,如0.56987。Math.floor
是舍弃小数位局部,因而在舍弃之前将Math.random()
的后果*100,就生成了0-99的随机数。
源码可参考:https://github.com/unique008/...
遇到的问题:
js谬误形容:Cannot read property 'value' of null
解决方案:
语法错误:查看了一遍,原来是把.value
后面的名字写错了,这个是很不容易发现的,写代码肯定要仔细一点哦。只有相熟语言并理解出错的含意,你就能很快顺利修复他们。
eg:guessSubmit.addeventListener
不是一个函数,这就是一个语法错误,js是辨别大小写的,所以任何轻微的不同都会出错。
解决方案:addeventListener
改成addEventListener
即可解决。
还有另一种谬误是逻辑谬误,不存在语法错误,然而后果跟你预期的并不一样,比语法错误更难修复。
2. js中比拟罕用的字符串办法
- 变量
变量并不是数值自身,能够看做存储数值的一个容器.
变量名的命名规定:小写驼峰命名法。
- 与其余编程语言不一样,在js中不须要申明变量的类型。
eg:
Number类型:let myAge = 18;
String类型:let myHometown = 'linfen';
Boolean类型:let isVisitied = true;
Array类型:let amyArr = ['我和','我的','他乡'];
或let amyArr = [1,2,2];
Object类型:let kity = {name:'xiaodeng',hobby:'sing'};
,能够用kity.name
调用。
注:===
和!==
是严格相等,包含数据类型;==
和!=
只是测试值相等或者不等,数据类型可能不同。
倡议应用严格版本,能够有更少谬误。
- prompt函数
let name = prompt('What is your name?');
这句话是用的window.prompt()
函数,它要求用户通过一个弹出对话框答复一个问题,而后将你的答案赋给变量name
。
- indexOf函数
let brow = 'Beata hello'; brow.indexOf('ata'); //返回2,找不到则返回-1
返回子字符串首字符在主串中的索引值。
- slice函数
let brow = 'Beata hello';brow.slice(0,3); //返回"Bea"brow.slice(2); //返回"ata hello"
slice
用来提取字符串中的字符,参数1是开始提取的地位,参数2是提取的字符串长度。,参数2是可选的,若没有参数2,返回字符串中所剩的所有字符。
- toLowerCase函数
将所有字符转成小写;
- toUpperCase函数
将所有字符转成大写;
- replace函数
替换,参数1是被替换下的子串,参数2是要被替换上的子串。
3. js中数组的罕用办法
- 字符串转数组
let myData = 'Manchester,London,Liverpool,Birmingham,Leeds,Carlisle';let myArray = myData.split(',');
myArray后果如下:
- 数组转字符串:
1 let myNewString = myArray.join(',');
myNewString后果如下,join
能够指定不同的分隔符。
2 let myNewString1 = myArray.toString();
myNewString1后果如下,toString
更简略一些,不须要参数。
- 插入和删除
push()
:增加一个/多个到数组的开端,返回数组的新长度存储在新变量中;【尾插】
pop()
:删除数组中最初一个元素,返回被删除的元素。【尾删】
下面两个办法不扭转原数组。
上面两个办法与下面两个性能一样,然而插入和删除地位不一样,返回的值也不一样。
unshift()
:在第一个地位插入元素,返回插入之后的元素【头插】;shift()
:在第一个地位删除元素,返回删除之后的元素【头删】;
toFixed()
办法可把 Number 四舍五入为指定小数位数的数字。appendChild()
向节点增加最初一个子节点。