js

js扫雷

核能气质少年 提交于 2020-03-05 16:17:07
HTML部分: <!doctype html> <html> <head> <meta charset="utf-8"> <title>JS扫雷</title> <link rel="stylesheet" href="Mine.css"> </head> <body> <div class="wrapper"> <div class="btn" id="btn"></div> <div class="box" id="box"></div> <div class="flagBox" id="flagBox">当前剩余雷数: <span id="score">10</span> </div> <div class="alertBox" id="alertBox"> <div class="alertImg" id="alertImg"> <div class="close" id="close"></div> </div> </div> </div> <script type="text/javascript" src="Mine.js"></script> </body> </html> CSS部分: @charset "utf-8"; /* CSS Document */ * { margin: 0; padding: 0; } .wrapper { width: 100%;

飞行熊猫游戏源码android版

纵饮孤独 提交于 2020-03-05 15:16:18
这款游戏是前一段时间完成的一个项目,飞行熊猫游戏源码android版,飞行熊猫基于cocos2d游戏引擎开发,包括了谷歌admob广告支持,没有任何版权问题,大家可以自由修改和上传应用商店。 1.本游戏支持无限关卡。 2.源码包也包括了游戏PSD格式资源文件,可自行修改图片。 3.自适应各种屏幕分辨率, 支持android2.1+ 源码下载: http://code.662p.com/view/6682.html <ignore_js_op> <ignore_js_op> 1022561.png (171.19 KB, 下载次数: 0) 下载附件 保存到相册 2014-4-18 18:58 上传 <ignore_js_op> 详细说明: http://android.662p.com/thread-5195-1-1.html 来源: oschina 链接: https://my.oschina.net/u/2322342/blog/388770

原生JS实现双向链表

旧街凉风 提交于 2020-03-05 14:01:35
1.前言 双向链表和单向链表的区别在于,在链表中,一个节点只有链向下一个节点的链接,而在双向链表中,链接是双向的:一个链向下一个元素,另一个链向前一个元素,如下图所示: 从图中可以看到,双向链表中,在每个节点 Node 里有 prev 属性(指向上一个节点的指针)和 next 属性(指向下一个节点的指针),并且在链表中也有 head 属性(用来存储链表第一项的引用)和 tail 属性(用来存储链表最后一项的引用)。 2.代码实现 首先,我们可以先创建一个双向链表DoublyLinkedList类: //创建一个Node辅助类,用来生成节点 class Node{ constructor(value){ this.value = value; this.next = null; this.prev = null; } } class DoublyLinkedList{ constructor(){ this.head = null; this.tail = null; this.length = 0; } append(element){ } find(value){ } insert(position,element){ } remove(value) { } removeAt(position){ } size(){ } isEmpty(){ } nextPrint() { }

js中级总结

与世无争的帅哥 提交于 2020-03-05 13:29:56
js中级总结   this问题;   this是JavaScript的关键字 用途:指向某一个对象   如何判断this的指向   函数内:两种情况:1.以函数形式调用(不带 . 指向window )            2.以方法形式调用(带 . this指向 . 前面的)   函数外:this指向window   1.自调用函数内this都是window   2.定时器this指向window   3.事件里面的this 指向触发事件的元素   4.构造函数里this指向他的实例(子对象)   怎样替换函数内的this?   1.call() 替换.前面的this并执行那个函数   2.apply()   3.bind()   A.fn.call(B,5) B取代fn中的this,并调用fn()   call和apply,bind只能是函数(方法)内,或者是函数对象   call前面对象必须是函数对象   var a=45;   var b={     a:12     }   function fn(){     console.log(this.a)     }   fn.call(b)   面向对象:   以对象的方法来写业务逻辑   1.单例模式 var obj={}   2.工厂模式 function fn(){            var obj={}     

JS基础_自增和自减

℡╲_俬逩灬. 提交于 2020-03-05 13:27:01
一、算术运算符---用算术运算符连接起来的叫做算术运算符表达式 运算符 结果 + 如果是数字类型的变量相加,那么结果为数字类型 如果是非数字类型的变量相加,结果为字符串类型 - 如果是非数字类型的变量相减结果为 NaN * 同上 / 同上 ,如果 0 作为除数,结果为 infinity (无穷大) % 获取余数 () 优先级 有括号先计算括号里面的值 二、关系运算符 1. > , < , >= , <= 比较运算符 2. == != === !== == 之比较 "转化成同一类型后的值" 看 "值" 是否相等, === 为绝对相等,即数据类型与值都必须相等。 != 为 == 的非运算,!== 为 === 的非运算 参考文章: JavaScript == 与 === 区别 三、逻辑运算符 1.&& 逻辑与 2.|| 逻辑或 3.! 逻辑非 var year=parseInt(prompt("请输入年份")); if(year%4==0 && year%100!==0 || year%400==0){ alert("是闰年"); } 四、元运算符 1.一元运算符: 一元运算符有1个操作数。例如,递增运算符"++"就是一元运算符。 自增自减 i++ 和 ++i的区别: 在不参与运算的情况下,i++和++i 结果是一样的,都是在原来的基础上+1 var i=1; i++; console

js刷新页面和跳转

岁酱吖の 提交于 2020-03-05 12:50:39
javascript返回上一页: 1、返回上一页 history.go(-1); 返回上两个页面 history.go(-2); <a href="javascript:history.go(-1);">上一页</a> 2、history.back(). 3、window.history.forward() 返回下一页 4、window.history.go(返回第几页,也可以是url) 5、window.location.href=url; js刷新页面的几种方法: 1、history.go(0); 2、window.location.href=当前页面url; 3、location=location; 4、location.replace(location); 5、location.assign(location); 6、window.navigate(location); 7、document.URL=location.href 自动刷新页面的方法: 1、页面自动刷新:在<head>标签中加入 <meta http=-equiv="refresh" content="20">其中20指每隔20s刷新一次 2、页面自动跳转:在<head>标签中加入 <meta http=-equiv="refresh" content="20;url="http:www.baidu.com"

JavaScript变量的作用域

痴心易碎 提交于 2020-03-05 11:34:07
虽然 《JavaScript权威指南》这本书很好,但是有一些东西让人容易理解错。最近在恶补基础,结合这本书,我想把变量的作用域重新梳理一下: "一个变量的作用域(scope)是程序源代码中定义这个变量的区域。 全局变量拥有全局作用域,在JavaScript代码中的任何地方都是有定义的。然而在函数内声明的变量只在函数体内有定义。"----摘自《JavaScript权威指南》第6版 "在一些类似C语言的编程语言中,花括号内的每一段代码都具有各自的作用域,而且变量在声明他们的代码段之外是不可见的,我们称之为块级作用域。" ----摘自《JavaScript权威指南》第6版 在ECMAScript 6之前是没有块级作用域的,这里说的是 ECMAScript 5.1规范标准。 变量分全局变量,局部变量。这就决定了变量的作用域:全局作用域、与函数作用域 demo1: var scope = "global"; //声明一个全局变量 function check() { var scope = "local"; //声明一个同名的局部变量 return scope; //返回局部变量的值,而不是全局变量的值 } check(); => "local" 解: " 在函数体内,局部变量的优先级高于同名的全局变量。如果在函数内声明的一个局部变量or函数参数中带有的变量和全局变量重名

js — 字符串

…衆ロ難τιáo~ 提交于 2020-03-05 11:23:09
目录 1. 拼接字符串 2. 获取字符的方法 3. 字符串操作方法(切片) 4. 字符串位置方法 — 索引 5. trim()方法 6. 字符串大小写转换方法 字符串 typeof 用于校验当前变量的数据类型 var b = 'asd' console.log(typeof b); 1. 拼接字符串 在Javascript中拼接字符串使用加号(+)操作符,之前我们是拿+来做数字加法运算,但是在这种情况下,它做了一下不同的事情。 <script> var name = 'wusir', age = 28; //es6以下版本的字符串拼接 var str = name + '今年是' + age + '岁了,快要结婚了,娶了个黑姑娘'; console.log(str); //es6的模板字符串: ``反引号 var str2 = `${name}今年是${age}岁了,快要结婚了,娶了个黑姑娘`; console.log(str2); </script> 2. 获取字符的方法 访问字符串中特定字符的方法: charAt() 以单字符字符串的形式返回给定位置的那个字符 (ECMAScript 中没有字符类型)。 charCodeAt() 以单字符字符串的形式返回给定位置的那个字符的ASCII编码 这两个方法都接收一个 参数,即基于 0 的字符位置。 3. 字符串操作方法(切片) 1

js 时间对象&字符对象

最后都变了- 提交于 2020-03-05 11:20:35
复习 var timer1 = setTimeout(fn,1000); var timer2 = setInterval(fn,1000); clearTimeout(timer2) clearInterval(timer1) setTimeout(function(){ console.log(111); },0) console.log(222); for(var i = 0; i < 10; i++){ setTimeout(function(){ console.log(i); },0); } function move(obj,attr,step,target){ clearInterval(obj.timer); var current = parseInt(getCss(obj,attr)); step = target >= current ? step : -step; obj.timer = setInterval(function(){ current += step; if(step<0&&current<=target||step>0&&current>=target){ clearInterval(obj.timer); current = target; } obj.style[attr] = current + 'px'; },20); }

自己封装的纯js实现ajax

别来无恙 提交于 2020-03-05 11:16:06
1 var aj=new Object(); 2 aj.request = function(){ 3 if(window.XMLHttpRequest) { 4 var ajax = new XMLHttpRequest(); 5 }else if (window.ActiveXObject) { 6 try { 7 var ajax = new ActiveXObject("Msxml2.XMLHTTP"); 8 } catch (e) { 9 try { 10 var ajax = new ActiveXObject("Microsoft.XMLHTTP"); 11 } catch (e) {} 12 } 13 } 14 if (!ajax) { 15 window.alert("不能创建XMLHttpRequest对象<SPAN class=hilite2>实例</SPAN>."); 16 return false; 17 } 18 return ajax; 19 } 20 aj.req=aj.request(); 21 aj.Handle=function(callback){ 22 aj.req.onreadystatechange=function(){ 23 if(aj.req.readyState==4){ 24 if(aj.req.status==200){