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()
向节点添加最后一个子节点。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。