js编程
Czccava
这个作者很懒,什么都没留下…
展开
-
使用JS和Canvas做一个html5小游戏
这是一个很简单的html5游戏,通过学习原博文自己做了些改造,现在附上原博文的链接 这是游戏的截图:1.有计算抓住的怪物的数量2.有背景,英雄,怪物。 第一步:建立html文件和js文件建立一个games文件夹,在文件夹中建立js文件夹,images文件夹,以及index.html。game.js放在js文件夹中,图片放在images文件夹中。 ...原创 2018-11-12 17:42:03 · 15776 阅读 · 4 评论 -
二进制转换1
题目描述获取数字 num 二进制形式第 bit 位的值。注意:1、bit 从 1 开始2、返回 0 或 13、举例:2 的二进制为 10,第 1 位为 0,第 2 位为 1示例1输入复制128, 8输出复制1 知识点: toString(2)的意思就是转换为二进制的字符串。 1.转换为字符串function valueAtBit(nu...原创 2018-11-05 14:59:36 · 434 阅读 · 0 评论 -
模块
题目描述完成函数 createModule,调用之后满足如下要求:1、返回一个对象2、对象的 greeting 属性值等于 str1, name 属性值等于 str23、对象存在一个 sayIt 方法,该方法返回的字符串为 greeting属性值 + ', ' + name属性值 1.构造函数加原型function createModule(str1, str2...原创 2018-11-05 14:43:36 · 101 阅读 · 0 评论 -
且运算
题目描述返回参数 a 和 b 的逻辑且运算结果示例1输入复制false, true输出复制false function and(a, b) { return a&&b;}原创 2018-11-05 14:29:56 · 1030 阅读 · 0 评论 -
Date
在JavaScript中,Date对象用来表示日期和时间。要获取系统当前时间,用:var now = new Date();now; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)now.getFullYear(); // 2015, 年份now.getMonth(); // 5, 月份,注意月份范围是0~11,5表示六月now.getDat...转载 2018-11-10 16:15:13 · 252 阅读 · 0 评论 -
JSON
JSON是JavaScript Object Notation的缩写,它是一种数据交换格式。在JSON出现之前,大家一直用XML来传递数据。因为XML是一种纯文本格式,所以它适合在网络上交换数据。XML本身不算复杂,但是,加上DTD、XSD、XPath、XSLT等一大堆复杂的规范以后,任何正常的软件开发人员碰到XML都会感觉头大了,最后大家发现,即使你努力钻研几个月,也未必搞得清楚XML的规范...转载 2018-11-10 16:10:53 · 154 阅读 · 0 评论 -
正则表达式
在正则表达式中,如果直接给出字符,就是精确匹配。用\d可以匹配一个数字,\w可以匹配一个字母或数字,所以: '00\d'可以匹配'007',但无法匹配'00A'; '\d\d\d'可以匹配'010'; '\w\w'可以匹配'js'; .可以匹配任意字符,所以:'js.'可以匹配'jsp'、'jss'、'js!'等等。要匹配变长的字符,在正则表达式中,用*表示任意...原创 2018-11-10 15:50:24 · 130 阅读 · 0 评论 -
或运算
题目描述返回参数 a 和 b 的逻辑或运算结果示例1输入复制false, true输出复制true function or(a, b) { return a||b; }原创 2018-11-01 19:48:07 · 460 阅读 · 0 评论 -
柯里化
题目描述已知 fn 为一个预定义函数,实现函数 curryIt,调用之后满足如下条件:1、返回一个函数 a,a 的 length 属性值为 1(即显式声明 a 接收一个参数)2、调用 a 之后,返回一个函数 b, b 的 length 属性值为 13、调用 b 之后,返回一个函数 c, c 的 length 属性值为 14、调用 c 之后,返回的结果与调用 fn 的返回值一致5、fn...原创 2018-11-01 19:45:19 · 166 阅读 · 0 评论 -
二次封装函数2
题目描述实现函数 partialUsingArguments,调用之后满足如下条件:1、返回一个函数 result2、调用 result 之后,返回的结果与调用函数 fn 的结果一致3、fn 的调用参数为 partialUsingArguments 的第一个参数之后的全部参数以及 result 的调用参数示例1输入复制无输出复制无 1....原创 2018-11-01 17:31:05 · 159 阅读 · 0 评论 -
二进制转换2
题目描述给定二进制字符串,将其换算成对应的十进制数字示例1输入复制'11000000'输出复制192 知识点:parseInt() 函数可解析一个字符串,并返回一个整数。语法parseInt(string, radix) 参数 描述 string 必需。要被解析的...原创 2018-11-05 15:02:12 · 2695 阅读 · 0 评论 -
二进制转换3
题目描述将给定数字转换成二进制字符串。如果字符串长度不足 8 位,则在前面补 0 到满8位。示例1输入复制65输出复制01000001 1.用slice(0,8-l)补全位数function convertToBinary(num) { var s = num.toString(2); var l...原创 2018-11-05 15:20:44 · 398 阅读 · 0 评论 -
乘法
题目描述求 a 和 b 相乘的值,a 和 b 可能是小数,需要注意结果的精度问题示例1输入复制3, 0.0001输出复制0.0003 知识点:toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。 function multiply(a, b) { var strA = a+''; var strB =...原创 2018-11-05 15:34:14 · 366 阅读 · 0 评论 -
判断是否为USD格式
题目描述给定字符串 str,检查其是否符合美元书写格式1、以 $ 开始2、整数部分,从个位起,满 3 个数字用 , 分隔3、如果为小数,则小数部分长度为 24、正确的格式如:$1,023,032.03 或者 $2.03,错误的格式如:$3,432,12.12 或者 $34,344.3示例1输入复制'$20,933,209.93'输出复制true ...原创 2018-11-08 18:52:37 · 1299 阅读 · 1 评论 -
判断是否符合指定格式
题目描述给定字符串 str,检查其是否符合如下格式1、XXX-XXX-XXXX2、其中 X 为 Number 类型示例1输入复制'800-555-1212'输出复制true 知识点: ^ 匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与 \n 或 \r 之后的...原创 2018-11-08 18:35:33 · 2143 阅读 · 0 评论 -
获取指定字符串
题目描述给定字符串 str,检查其是否包含 连续3个数字 1、如果包含,返回最新出现的 3 个数字的字符串2、如果不包含,返回 false示例1输入复制'9876543'输出复制987 知识点:\w 匹配字母或数字或下划线或汉字 等价于 '[^A-Za-z0-9_]'。\s 匹配任意的空白符\d 匹配数字\b 匹配单词的开始或结...原创 2018-11-08 18:30:58 · 561 阅读 · 0 评论 -
判断是否以元音字母结尾
题目描述给定字符串 str,检查其是否以元音字母结尾1、元音字母包括 a,e,i,o,u,以及对应的大写2、包含返回 true,否则返回 false示例1输入复制'gorilla'输出复制true 知识点: $ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或...原创 2018-11-08 18:22:58 · 981 阅读 · 0 评论 -
检查重复字符串
题目描述给定字符串 str,检查其是否包含连续重复的字母(a-zA-Z),包含返回 true,否则返回 false示例1输入复制'rattler'输出复制true 知识点:在正则表达式中,利用()进行分组,使用斜杠加数字表示引用,\1就是引用第一个分组,\2就是引用第二个分组。 用正则表达式:function contain...原创 2018-11-08 18:13:35 · 672 阅读 · 0 评论 -
判断是否包含数字
题目描述给定字符串 str,检查其是否包含数字,包含返回 true,否则返回 false示例1输入复制'abc123'输出复制true 知识点:判断字符串中是否含有数字,可以用正则表达式。/\d/可以匹配字符串中的数字字符,用test方法可以检测。 1.用遍历function containsNumber(str) { for(...原创 2018-11-05 15:59:26 · 866 阅读 · 0 评论 -
属性遍历
题目描述找出对象 obj 不在原型链上的属性(注意这题测试例子的冒号后面也有一个空格~)1、返回数组,格式为 key: value2、结果数组不要求顺序示例1输入复制var C = function() {this.foo = 'bar'; this.baz = 'bim';}; C.prototype.bop = 'bip'; iterate(new C());...原创 2018-11-05 15:53:23 · 114 阅读 · 0 评论 -
批量改变对象的属性
题目描述给定一个构造函数 constructor,请完成 alterObjects 方法,将 constructor 的所有实例的 greeting 属性指向给定的 greeting 变量。示例1输入复制var C = function(name) {this.name = name; return this;}; var obj1 = new C('Rebecca'); ...原创 2018-11-05 15:43:42 · 1360 阅读 · 1 评论 -
改变上下文
题目描述将函数 fn 的执行上下文改为 obj,返回 fn 执行后的值示例1输入复制alterContext(function() {return this.greeting + ', ' + this.name + '!'; }, {name: 'Rebecca', greeting: 'Yo' })输出复制Yo, Rebecca! 知识点:在...原创 2018-11-05 15:39:16 · 410 阅读 · 0 评论 -
使用apply调用函数
题目描述实现函数 callIt,调用之后满足如下条件1、返回的结果为调用 fn 之后的结果2、fn 的调用参数为 callIt 的第一个参数之后的全部参数示例1输入复制无输出复制无 1.用迭代function callIt(fn) { var args = []; for(i=1;i<arguments.length...原创 2018-11-01 17:15:29 · 608 阅读 · 0 评论 -
使用arguments
题目描述函数 useArguments 可以接收 1 个及以上的参数。请实现函数 useArguments,返回所有调用参数相加后的结果。本题的测试参数全部为 Number 类型,不需考虑参数转换。示例1输入复制1, 2, 3, 4输出复制10 知识点:arguments能获得函数对象传入的参数组,类似与一个数组,能够通过length获取参数个数,能...原创 2018-11-01 17:05:10 · 221 阅读 · 0 评论 -
计数
统计数组 arr 中值等于 item 的元素出现的次数示例1输入[1, 2, 4, 4, 3, 4, 3], 4输出3 1.用遍历方法function count(arr, item) { var count = 0; for(i=0;i<arr.length;i++){ if(arr[i]===item){ ...原创 2018-10-29 14:43:47 · 188 阅读 · 0 评论 -
添加元素(指定位置)
题目描述在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组示例1输入复制[1, 2, 3, 4], 'z', 2输出复制[1, 2, 'z', 3, 4] 1.用slice和splicefunction insert(arr, item, index) { var newarr = arr...原创 2018-10-25 19:38:58 · 836 阅读 · 0 评论 -
数组合并
题目描述合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组示例1输入复制[1, 2, 3, 4], ['a', 'b', 'c', 1]输出复制[1, 2, 3, 4, 'a', 'b', 'c', 1]知识点:concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。 1...原创 2018-10-25 17:17:23 · 314 阅读 · 0 评论 -
删除数组的第一个元素
题目描述删除数组 arr 第一个元素。不要直接修改数组 arr,结果返回新的数组示例1输入复制[1, 2, 3, 4]输出复制[2, 3, 4] 1.普通的迭代+pushfunction curtail(arr) { var newarr =[]; for(i=1;i<arr.length;i++){ ...原创 2018-10-25 16:50:42 · 4155 阅读 · 0 评论 -
添加元素(开头)
题目描述在数组 arr 开头添加元素 item。不要直接修改数组 arr,结果返回新的数组示例1输入复制[1, 2, 3, 4], 10输出复制[10, 1, 2, 3, 4] 1.用slice(0)复制arr,再用unshift添加item。function prepend(arr, item) { var newarr = arr...原创 2018-10-25 16:46:08 · 185 阅读 · 0 评论 -
删除数组最后一个元素
题目描述删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组示例1输入复制[1, 2, 3, 4]输出复制[1, 2, 3] 1.用pushfunction truncate(arr) { var newarr = []; for(i=0;i<arr.length-1;i++){ newa...原创 2018-10-25 16:39:50 · 2820 阅读 · 0 评论 -
添加元素
题目描述在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组示例1输入复制[1, 2, 3, 4], 10输出复制[1, 2, 3, 4, 10] 1.用push方法+遍历function append(arr, item) { var newarr=[]; for(i=0;i<arr.leng...原创 2018-10-25 16:31:06 · 167 阅读 · 0 评论 -
移除数组中的元素(2)
题目描述移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回示例1输入复制[1, 2, 2, 3, 4, 2, 2], 2输出复制[1, 3, 4] 1.用splice()function removeWithoutCopy(arr, item) { for(i=0;i<arr...原创 2018-10-25 16:12:21 · 1092 阅读 · 0 评论 -
移除数组中的元素
题目描述移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组示例1输入复制[1, 2, 3, 4, 2], 2输出复制[1, 3, 4] 1.遍历function remove(arr, item) { var newarr = [] for(i=0;i<arr.length;i++...原创 2018-10-25 15:57:48 · 130 阅读 · 0 评论 -
查找重复元素
题目描述找出数组 arr 中重复出现过的元素示例1输入复制[1, 2, 4, 4, 3, 3, 1, 5, 3]输出复制[1, 3, 4] 知识点:1.indexOf() 方法可返回数组中某个指定的元素位置。2.lastIndexOf() 方法可返回一个指定的元素在数组中最后出现的位置,在一个数组中的指定位置从后向前搜索。 思路:ind...原创 2018-10-29 15:00:25 · 980 阅读 · 0 评论 -
求二次方
题目描述为数组 arr 中的每个元素求二次方。不要直接修改数组 arr,结果返回新的数组示例1输入复制[1, 2, 3, 4]输出复制[1, 4, 9, 16] 1.用遍历+push()function square(arr) { var newarr = []; for(i=0;i<arr.length;i++){ ...原创 2018-10-29 15:04:50 · 340 阅读 · 0 评论 -
查找元素位置
题目描述在数组 arr 中,查找值与 item 相等的元素出现的所有位置示例1输入复制'abcdefabc'输出复制[0, 6] 1.用遍历function findAllOccurrences(arr, target) { var a = []; for(i=0;i<arr.length;i++){ i...原创 2018-10-29 15:09:49 · 177 阅读 · 0 评论 -
二次封装函数
题目描述已知函数 fn 执行需要 3 个参数。请实现函数 partial,调用之后满足如下条件:1、返回一个函数 result,该函数接受一个参数2、执行 result(str3) ,返回的结果与 fn(str1, str2, str3) 一致示例1输入复制var sayIt = function(greeting, name, punctuation) { re...原创 2018-11-01 16:51:22 · 157 阅读 · 0 评论 -
使用闭包
题目描述实现函数 makeClosures,调用之后满足如下条件:1、返回一个函数数组 result,长度与 arr 相同2、运行 result 中第 i 个函数,即 result[i](),结果与 fn(arr[i]) 相同示例1输入复制[1, 2, 3], function (x) { return x * x; }输出复制4 知识点:...原创 2018-11-01 16:38:41 · 118 阅读 · 0 评论 -
返回函数
题目描述实现函数 functionFunction,调用之后满足如下条件:1、返回值为一个函数 f2、调用返回的函数 f,返回值为按照调用顺序的参数拼接,拼接字符为英文逗号加一个空格,即 ', '3、所有函数的参数数量为 1,且均为 String 类型示例1输入复制functionFunction('Hello')('world')输出复制Hello, w...原创 2018-11-01 16:14:43 · 97 阅读 · 0 评论 -
函数的上下文
题目描述将函数 fn 的执行上下文改为 obj 对象示例1输入复制function () {return this.greeting + ', ' + this.name + '!!!';}, {greeting: 'Hello', name: 'Rebecca'}输出复制Hello, Rebecca!!! 知识点:apply:调用一个对象的一个方法...原创 2018-11-01 16:04:34 · 387 阅读 · 1 评论