1. js小案例

游戏如下图:
image.png

下面代码是源码中的一句话:

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
image.png
解决方案:
语法错误:检查了一遍,原来是把.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结果如下:
image.png

  • 数组转字符串:

1 let myNewString = myArray.join(',');

myNewString结果如下,join可以指定不同的分隔符。

image.png

2 let myNewString1 = myArray.toString();
myNewString1结果如下,toString更简单一些,不需要参数。
image.png

  • 插入和删除

push():添加一个/多个到数组的末尾,返回数组的新长度存储在新变量中;【尾插】

pop():删除数组中最后一个元素,返回被删除的元素。【尾删】
上面两个方法不改变原数组

下面两个方法与上面两个功能一样,但是插入和删除位置不一样,返回的值也不一样。

unshift():在第一个位置插入元素,返回插入之后的元素【头插】;
shift():在第一个位置删除元素,返回删除之后的元素【头删】;

  • toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
  • appendChild()向节点添加最后一个子节点。

unique_007
1 声望0 粉丝

黄沙百战穿金甲,不破楼兰终不还。