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()向节点增加最初一个子节点。