您的位置:

首页 >

网络编程 >

Javascript 按位与赋值运算符 (&=)使用介绍 >

Javascript 按位与赋值运算符 (&=)使用介绍

2016-07-04 13:28:09

分类:网络编程

Javascript 按位与赋值运算符 (&=),对变量值与表达式值设置按位“与”运算的结果。 变量和表达式均被视为 32 位二进制值,而一般表达式里面都是十进制整数,此时需要先转换成对应的二进制,然后向前加0,补足32位。复制代码 代码如下:result &= 【整数2】等价于result = result & 【整数2】& 对两个 32 位表达式的每一个位执行按位“与”运算。 如果两个位均为 1,则结果是 1。 否则,结果为 0。位1位2位与000111010100下面的示例演示如何使用 & 位与运算符 和 &= 按位与赋值运算符:复制代码 代码如下:// 9 二进制是 1001,补足32位为 00000000000000000000000000001001var expr1 = 9;// 5 是 00000000000000000000000000000101var expr2 = 5;/*00000000000000000000000000001001&00000000000000000000000000000101=00000000000000000000000000000001=1*/var result = expr1 & expr2;alert(result);// 弹出【1】expr1 &= expr2;alert(expr1);// 弹出【1】JavaScript赋值运算符与表达式 JavaScript赋值运算符负责为变量赋值,JavaScript赋值运算符包括=,+=,-=,*=,/=,%= 用赋值运算符和运算对象(操作数)连接起来,符合规则的JavaScript语法的式子,称JavaScript赋值表达式。 JavaScript赋值运算符与赋值表达式语法 var i+=a; += -- 赋值运算符 上面表达式的意义是:把i加上a所得的值,赋予变量i。 JavaScript赋值运算符与赋值表达式运算符=+=-=*=/=%=名称赋值运算符加法赋值运算符减法赋值运算符乘法赋值运算符除法赋值运算符模赋值运算符(求余赋值运算符)表达式i=6i+=5i-=5i*=5i/=5i%=5示例var i=6;i+=5;i-=5;i*=5;i/=5;i%=5;i的结果6111301.21等价于 i=i+5;i=i-5;i=i*5;i=i/5;i=i%5;示例解释 前自增运算符与后自增运算符有本质的区别,它们的相同点都是为自身加了1,不同点是前自增运算符是先加1,再使用操作数的值,后自增运算符是先使用操作数的值,再加1。例如: 复制代码 代码如下: var a; var i=6; //(前加加)i加1后,i等于7,并将i值赋予a,于是a等于7 a=++i; document.write(i); document.write(a); i=6; //(后加加)将i值赋予a,于是a等于6,最后i加1,i等于7 a=i++; document.write(i); document.write(a); 结果: 复制代码 代码如下:

一般情况下,我们在JS中用函数直接量来命名一个简单的函数。 <script type="text/javascript"> var func=function(s){window.alert(s)}; func("never-online") </script> 这在IE或者Mozilla中也是合法的(ECMA标准中有函数直接量的定义)。 但是IE中还有另外一种更简单的命名方式可以简化我们的代码: <div id="demo">http://blog.never-online.net</div> <script type="text/javascript"> var $=document.getElementById; alert($("demo").innerHTML); </script> 而这在Mozilla中没有报语法错误,而是抛出了一个异常, 操作符非法: 下面代码是捕获Mozilla抛出的异常并打印出来 <div id="demo">http://blog.never-online.net</div> <script type="text/javascript"> var $=document.getElementById; try { alert($("demo").innerHTML); } catch(ex) { document.write(ex)} </script> 异常内容为: [Exception... "Illegal operation on WrappedNative prototype object" nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location: "JS frame :: file:///C:/Documents%20and%20Settings/Administrator/Local%20Settings/Temp/non4A.htm :: :: line 22" data: no] 现在还不知道能不能在Mozilla的config中设置,总之写代码的时候要注意. 我在google上搜索 getElementById 0x8057000c 关键字,还是有很多类似的情况,比如 http://groups.google.co.uk/group/comp.lang.javascript/browse_thread/thread/65a1a23f5dd7c9ad/d264d04d9d768b28?tvc=2#d264d04d9d768b28 没有更好的解决办法,但是可以变通,比这样写 <div id="foo"></div> <script> document.$ = document.getElementById;  alert(document.$("foo").innerHTML); </script> 因为js可以动态的给对象增加属性和方法,

JQuery版 复制代码 代码如下: $.ajax({ url : "order/order_orderDetail.do?params.type=merge", type : "post", data : params, success : function(xml) { hide(); if(xml == ""){ Dialog.popTip("找不到需要合并的订单", 2); }else{ var myTable=document.getElementById( "t_product" ); //遍历"ORDER"节点 $(xml).find('ORDER').each(function(){ var id = $(this).find("ORDERID").text(); var status = $(this).find("STATUS").text(); if(status == "1"){ status="未确认"; }else{ status="已确认"; } var newRow = myTable.insertRow(); var oCell = newRow.insertCell(); oCell.setAttribute("height","25"); oCell.innerHTML=" "; oCell = newRow.insertCell(); oCell.innerHTML="*<b>订单<span style=\"color:red\">"+id+"</span> 的状态为:<span style=\"color:red\">"+status+"</span></b>,商品情况如下<input type=\"checkbox\" name=\"mOrder\" value="+id+" onclick=\"mergeOrder();\">"; oCell = newRow.insertCell(); oCell.innerHTML=" "; oCell = newRow.insertCell(); oCell.innerHTML=" "; //遍历"PRODUCT"节点 $(this).find('PRODUCT').each(function(){ var pid = $(this).find("PRODUCTID").text(); var pname = $(this).find("PRODUCTNAME").text(); var purl = $(this).find("PRODUCTURL").text(); var pprice = $(this).find("PRICE").text(); var pcount = $(this).find("GOODSCOUNT").text(); newRow = myTable.insertRow(); oCell = newRow.insertCell(); oCell.setAttribute("height","25"); oCell.innerHTML=pid; oCell = newRow.insertCell(); oCell.innerHTML="<a href=\""+purl+"\" target=\"_blank\">"+pname+"</a>"; oCell = newRow.insertCell(); oCell.innerHTML="<img style=\"cursor: pointer; vertical-align: middle\" src=\"./images/-.png\" onclick=\"return plus('p"+pid+"','"+pprice+"')\" /><input style=\"width: 20px; border: 0; text-align: center;\" type=\"text\" id=\"p"+pid+"\" name=\"order.count\" class=\"txt\" value="+pcount+" readonly /><img style=\"cursor: pointer; vertical-align: middle\" src=\"./images/+.png\" onclick=\"return add('p"+pid+"','"+pprice+"')\">" oCell = newRow.insertCell(); oCell.innerHTML=pprice; }); }); } }, error : function() { hide(); Dialog.popTip("服务器繁忙", 2); } }); JS版 复制代码 代码如下: if(xmlHttp.readyState ==4){ if(xmlHttp.status ==200){ hide(); var xml = xmlHttp.responseXML; if(xml == null){ Dialog.popTip("找不到需要合并的订单", 2); }else{ var myTable=document.getElementById("t_product" ); var orders = xml.getElementsByTagName("ORDER"); for(var i=0;i<orders.length;i++){ var order = orders[i]; var id = order.getElementsByTagName("ORDERID")[0].childNodes[0].nodeValue; var status =order.getElementsByTagName("STATUS")[0].childNodes[0].nodeValue; alert(status); if(status == "1"){ status="未确认"; }else{ status="已确认"; } var newRow = myTable.insertRow(); var oCell = newRow.insertCell(); oCell.setAttribute("height","25"); oCell.innerHTML=" "; oCell = newRow.insertCell(); oCell.innerHTML="*<b>订单<span style=\"color:red\">"+id+"</span> 的状态为:<span style=\"color:red\">"+status+"</span></b>,商品情况如下<input type=\"checkbox\" name=\"mOrder\" value="+id+" onclick=\"mergeOrder();\">"; oCell = newRow.insertCell(); oCell.innerHTML=" "; oCell = newRow.insertCell(); oCell.innerHTML=" "; var products = order.getElementsByTagName("PRODUCT"); for(var i=0;i<orders.length;i++){ var product = products[i]; var pid = product.getElementsByTagName("PRODUCTID")[0].childNodes[0].nodeValue; var pname = product.getElementsByTagName("PRODUCTNAME")[0].childNodes[0].nodeValue; var purl = product.getElementsByTagName("PRODUCTURL")[0].childNodes[0].nodeValue; var pprice = product.getElementsByTagName("PRICE")[0].childNodes[0].nodeValue; var pcount = product.getElementsByTagName("GOODSCOUNT")[0].childNodes[0].nodeValue; newRow = myTable.insertRow(); oCell = newRow.insertCell(); oCell.setAttribute("height","25"); oCell.innerHTML=pid; oCell = newRow.insertCell(); oCell.innerHTML="<a href=\""+purl+"\" target=\"_blank\">"+pname+"</a>"; oCell = newRow.insertCell(); oCell.innerHTML="<img style=\"cursor: pointer; vertical-align: middle\" src=\"./images/-.png\" onclick=\"return plus('p"+pid+"','"+pprice+"')\" /><input style=\"width: 20px; border: 0; text-align: center;\" type=\"text\" id=\"p"+pid+"\" name=\"order.count\" class=\"txt\" value="+pcount+" readonly /><img style=\"cursor: pointer; vertical-align: middle\" src=\"./images/+.png\" onclick=\"return add('p"+pid+"',

这篇介绍JavaScript方面的日志,我在是Clang上看到的。作者介绍挺全面的,所以转载过来让感兴趣的朋友看一下。呵呵~~~ 有些时候你精通一门语言,但是会发现你其实整天在和其它语言打交道,也许你以为这些微不足道,不至于影响你的开发进度,但恰恰是这些你不重视的东西会浪费你很多时间,我一直以为我早在几年前就已经精通JavaScript了,直到目前,我才越来越觉得JavaScript远比我想象的复杂和强大,我开始崇拜它,就像崇拜所有OOP语言一样~ 趁着节日的空隙,把有关JavaScript的方法和技巧整理下,让每个在为JavaScript而烦恼的人明白,JavaScript就这么回事!并希望JavaScript还可以成为你的朋友,让你豁然开朗,在项目中更好的应用~ 适合阅读范围:对JavaScript一无所知~离精通只差一步之遥的人 基础知识:HTML JavaScript就这么回事1:基础知识  1 创建脚本块 1: <script language=”JavaScript”> 2: JavaScript code goes here 3: </script>  2 隐藏脚本代码 1: <script language=”JavaScript”> 2: <!-- 3: document.write(“Hello”); 4: // --> 5: </script>  在不支持JavaScript的浏览器中将不执行相关代码 3 浏览器不支持的时候显示 1: <noscript> 2: Hello to the non-JavaScript browser. 3: </noscript>  4 链接外部脚本文件 1: <script language=”JavaScript” src="http://img.sxsky.net/it//”filename.js"”></script>  5 注释脚本 1: // This is a comment 2: document.write(“Hello”); // This is a comment 3: /* 4: All of this 5: is a comment 6: */  6 输出到浏览器 1: document.write(“<strong>Hello</strong>”);  7 定义变量 1: var myVariable = “some value”;  8 字符串相加 1: var myString = “String1” + “String2”;  9 字符串搜索 1: <script language=”JavaScript”> 2: <!-- 3: var myVariable = “Hello there”; 4: var therePlace = myVariable.search(“there”); 5: document.write(therePlace); 6: // --> 7: </script>  10 字符串替换 1: thisVar.replace(“Monday”,”Friday”);  11 格式化字串 1: <script language=”JavaScript”> 2: <!-- 3: var myVariable = “Hello there”; 4: document.write(myVariable.big() + “<br>”); 5: document.write(myVariable.blink() + “<br>”); 6: document.write(myVariable.bold() + “<br>”); 7: document.write(myVariable.fixed() + “<br>”); 8: document.write(myVariable.fontcolor(“red”) + “<br>”); 9: document.write(myVariable.fontsize(“18pt”) + “<br>”); 10: document.write(myVariable.italics() + “<br>”); 11: document.write(myVariable.small() + “<br>”); 12: document.write(myVariable.strike() + “<br>”); 13: document.write(myVariable.sub() + “<br>”); 14: document.write(myVariable.sup() + “<br>”); 15: document.write(myVariable.toLowerCase() + “<br>”); 16: document.write(myVariable.toUpperCase() + “<br>”); 17:  18: var firstString = “My String”; 19: var finalString = firstString.bold().toLowerCase().fontcolor(“red”); 20: // --> 21: </script>  12 创建数组 1: <script language=”JavaScript”> 2: <!-- 3: var myArray = new Array(5); 4: myArray[0] = “First Entry”; 5: myArray[1] = “Second Entry”; 6: myArray[2] = “Third Entry”; 7: myArray[3] = “Fourth Entry”; 8: myArray[4] = “Fifth Entry”; 9: var anotherArray = new Array(“First Entry”,”Second Entry”,”Third Entry”,”Fourth Entry”,”Fifth Entry”); 10: // --> 11: </script>  13 数组排序 1: <script language=”JavaScript”> 2: <!-- 3: var myArray = new Array(5); 4: myArray[0] = “z”; 5: myArray[1] = “c”; 6: myArray[2] = “d”; 7: myArray[3] = “a”; 8: myArray[4] = “q”; 9: document.write(myArray.sort()); 10: // --> 11: </script>  14 分割字符串 1: <script language=”JavaScript”> 2: <!-- 3: var myVariable = “a,b,c,d”; 4: var stringArray = myVariable.split(“,”); 5: document.write(stringArray[0]); 6: document.write(stringArray[1]); 7: document.write(stringArray[2]); 8: document.write(stringArray[3]); 9: // --> 10: </script>  15 弹出警告信息 1: <script language=”JavaScript”> 2: <!-- 3: window.alert(“Hello”); 4: // --> 5: </script>  16 弹出确认框 1: <script language=”JavaScript”> 2: <!-- 3: var result = window.confirm(“Click OK to continue”); 4: // --> 5: </script>  17 定义函数 1: <script language=”JavaScript”> 2: <!-- 3: function multiple(number1,number2) {  4: var result = number1 * number2; 5: return result; 6: } 7: // --> 8: </script>  18 调用JS函数 1: <a href=”#” onClick=”functionName()”>Link text</a> 2: <a href="/”javascript:functionName"()”>Link text</a>  19 在页面加载完成后执行函数 1: <body onLoad=”functionName();”> 2: Body of the page 3: </body>  20 条件判断 1: <script> 2: <!-- 3: var userChoice = window.confirm(“Choose OK or Cancel”); 4: var result = (userChoice == true) ? “OK” : “Cancel”; 5: document.write(result); 6: // --> 7: </script>  21 指定次数循环 1: <script> 2: <!-- 3: var myArray = new Array(3); 4: myArray[0] = “Item 0”; 5: myArray[1] = “Item 1”; 6: myArray[2] = “Item 2”; 7: for (i = 0; i < myArray.length; i++) {  8: document.write(myArray[i] + “<br>”); 9: } 10: // --> 11: </script>  22 设定将来执行 1: <script> 2: <!-- 3: function hello() {  4: window.alert(“Hello”); 5: } 6: window.setTimeout(“hello()”,5000); 7: // --> 8: </script>  23 定时执行函数 1: <script> 2: <!-- 3: function hello() {  4: window.alert(“Hello”); 5: window.setTimeout(“hello()”,5000); 6: } 7: window.setTimeout(“hello()”,5000); 8: // --> 9: </script>  24 取消定时执行 1: <script> 2: <!-- 3: function hello() {  4: window.alert(“Hello”); 5: } 6: var myTimeout = window.setTimeout(“hello()”,5000); 7: window.clearTimeout(myTimeout); 8: // --> 9: </script>  25 在页面卸载时候执行函数 1: <body onUnload=”functionName();”> 2: Body of the page 3: </body>  JavaScript就这么回事2:浏览器输出  26 访问document对象 1: <script language=”JavaScript”> 2: var myURL = document.URL; 3: window.alert(myURL); 4: </script>  27 动态输出HTML 1: <script language=”JavaScript”> 2: document.write(“<p>Here's some information about this document:</p>”); 3: document.write(“<ul>”); 4: document.write(“<li>Referring Document: “ + document.referrer + “</li>”); 5: document.write(“<li>Domain: “ + document.domain + “</li>”); 6: document.write(“<li>URL: “ + document.URL + “</li>”); 7: document.write(“</ul>”); 8: </script>  28 输出换行 1: document.writeln(“<strong>a</strong>”); 2: document.writeln(“b”);  29 输出日期 1: <script language=”JavaScript”> 2: var thisDate = new Date(); 3: document.write(thisDate.toString()); 4: </script>  30 指定日期的时区 1: <script language=”JavaScript”> 2: var myOffset = -2; 3: var currentDate = new Date(); 4: var userOffset = currentDate.getTimezoneOffset()/60; 5: var timeZoneDifference = userOffset - myOffset; 6: currentDate.setHours(currentDate.getHours() + timeZoneDifference); 7: document.write(“The time and date in Central Europe is: “ + currentDate.toLocaleString()); 8: </script>  31 设置日期输出格式 1: <script language=”JavaScript”> 2: var thisDate = new Date(); 3: var thisTimeString = thisDate.getHours() + “:” + thisDate.getMinutes(); 4: var thisDateString = thisDate.getFullYear() + “/” + thisDate.getMonth() + “/” + thisDate.getDate(); 5: document.write(thisTimeString + “ on “ + thisDateString); 6: </script>  32 读取URL参数 1: <script language=”JavaScript”> 2: var urlParts = document.URL.split(“?”); 3: var parameterParts = urlParts[1].split(“&”); 4: for (i = 0; i < parameterParts.length; i++) {  5: var pairParts = parameterParts[i].split(“=”); 6: var pairName = pairParts[0]; 7: var pairValue = pairParts[1]; 8: document.write(pairName + “ :“ +pairValue ); 9: } 10: </script>  你还以为HTML是无状态的么? 33 打开一个新的document对象 1: <script language=”JavaScript”> 2: function newDocument() {  3: document.open(); 4: document.write(“<p>This is a New Document.</p>”); 5: document.close(); 6: } 7: </script>  34 页面跳转 1: <script language=”JavaScript”> 2: window.location = “http://www.liu21st.com/”; 3: </script>  35 添加网页加载进度窗口 1: <html> 2: <head> 3: <script language='javaScript'> 4: var placeHolder = window.open('holder.html','placeholder','width=200,height=200'); 5: </script> 6: <title>The Main Page</title> 7: </head> 8: <body onLoad='placeHolder.close()'> 9: <p>This is the main page</p> 10: </body> 11: </html>  JavaScript就这么回事3:图像  36 读取图像属性 1: <img src="http://img.sxsky.net/it//”image1.jpg"” name=”myImage”> 2: <a href=”# ” onClick=”window.alert(document.myImage.width)”>Width</a> 3:  37 动态加载图像 1: <script language=”JavaScript”> 2: myImage = new Image; 3: myImage.src = “Tellers1.jpg”; 4: </script>  38 简单的图像替换 1: <script language=”JavaScript”> 2: rollImage = new Image; 3: rollImage.src = “rollImage1.jpg”; 4: defaultImage = new Image; 5: defaultImage.src = “image1.jpg”; 6: </script> 7: <a href="/”myUrl"” onMouseOver=”document.myImage.src = rollImage.src;” 8: onMouseOut=”document.myImage.src = defaultImage.src;”> 9: <img src="http://img.sxsky.net/it//”image1.jpg"” name=”myImage” width=100 height=100 border=0>  39 随机显示图像 1: <script language=”JavaScript”> 2: var imageList = new Array; 3: imageList[0] = “image1.jpg”; 4: imageList[1] = “image2.jpg”; 5: imageList[2] = “image3.jpg”; 6: imageList[3] = “image4.jpg”; 7: var imageChoice = Math.floor(Math.random() * imageList.length); 8: document.write(‘<img src=”' + imageList[imageChoice] + ‘“>'); 9: </script>  40 函数实现的图像替换 1: <script language=”JavaScript”> 2: var source = 0; 3: var replacement = 1; 4: function createRollOver(originalImage,replacementImage) {  5: var imageArray = new Array; 6: imageArray[source] = new Image; 7: imageArray[source].src = originalImage; 8: imageArray[replacement] = new Image; 9: imageArray[replacement].src = replacementImage; 10: return imageArray; 11: } 12: var rollImage1 = createRollOver(“image1.jpg”,”rollImage1.jpg”); 13: </script> 14: <a href=”#” onMouseOver=”document.myImage1.src = rollImage1[replacement].src;” 15: onMouseOut=”document.myImage1.src = rollImage1[source].src;”> 16: <img src="http://img.sxsky.net/it//”image1.jpg"” width=100 name=”myImage1” border=0> 17: </a>  41 创建幻灯片 1: <script language=”JavaScript”> 2: var imageList = new Array; 3: imageList[0] = new Image; 4: imageList[0].src = “image1.jpg”; 5: imageList[1] = new Image; 6: imageList[1].src = “image2.jpg”; 7: imageList[2] = new Image; 8: imageList[2].src = “image3.jpg”; 9: imageList[3] = new Image; 10: imageList[3].src = “image4.jpg”; 11: function slideShow(imageNumber) {  12: document.slideShow.src = imageList[imageNumber].src; 13: imageNumber += 1; 14: if (imageNumber < imageList.length) {  15: window.setTimeout(“slideShow(“ + imageNumber + “)”,3000); 16: } 17: } 18: </script> 19: </head> 20: <body onLoad=”slideShow(0)”> 21: <img src="http://img.sxsky.net/it//”image1.jpg"” width=100 name=”slideShow”>  42 随机广告图片 1: <script language=”JavaScript”> 2: var imageList = new Array; 3: imageList[0] = “image1.jpg”; 4: imageList[1] = “image2.jpg”; 5: imageList[2] = “image3.jpg”; 6: imageList[3] = “image4.jpg”; 7: var urlList = new Array; 8: urlList[0] = “http://some.host/”; 9: urlList[1] = “http://another.host/”; 10: urlList[2] = “http://somewhere.else/”; 11: urlList[3] = “http://right.here/”; 12: var imageChoice = Math.floor(Math.random() * imageList.length); 13: document.write(‘<a href=”' + urlList[imageChoice] + ‘“><img src=”' + imageList[imageChoice] + ‘“></a>'); 14: </script>  JavaScript就这么回事4:表单  还是先继续写完JS就这么回事系列吧~ 43 表单构成 1: <form method=”post” action=”target.html” name=”thisForm”> 2: <input type=”text” name=”myText”> 3: <select name=”mySelect”> 4: <option value=”1”>First Choice</option> 5: <option value=”2”>Second Choice</option> 6: </select> 7: <br> 8: <input type=”submit” value=”Submit Me”> 9: </form>  44 访问表单中的文本框内容 1: <form name=”myForm”> 2: <input type=”text” name=”myText”> 3: </form> 4: <a href='#' onClick='window.alert(document.myForm.myText.value);'>Check Text Field</a>  45 动态复制文本框内容 1: <form name=”myForm”> 2: Enter some Text: <input type=”text” name=”myText”><br> 3: Copy Text: <input type=”text” name=”copyText”> 4: </form> 5: <a href=”#” onClick=”document.myForm.copyText.value = 6: document.myForm.myText.value;”>Copy Text Field</a>  46 侦测文本框的变化 1: <form name=”myForm”> 2: Enter some Text: <input type=”text” name=”myText” onChange=”alert(this.value);”> 3: </form>  47 访问选中的Select 1: <form name=”myForm”> 2: <select name=”mySelect”> 3: <option value=”First Choice”>1</option> 4: <option value=”Second Choice”>2</option> 5: <option value=”Third Choice”>3</option> 6: </select> 7: </form> 8: <a href='#' onClick='alert(document.myForm.mySelect.value);'>Check Selection List</a>  48 动态增加Select项 1: <form name=”myForm”> 2: <select name=”mySelect”> 3: <option value=”First Choice”>1</option> 4: <option value=”Second Choice”>2</option> 5: </select> 6: </form> 7: <script language=”JavaScript”> 8: document.myForm.mySelect.length++; 9: document.myForm.mySelect.options[document.myForm.mySelect.length - 1].text = “3”; 10: document.myForm.mySelect.options[document.myForm.mySelect.length - 1].value = “Third Choice”; 11: </script>  49 验证表单字段 1: <script language=”JavaScript”> 2: function checkField(field) {  3: if (field.value == “”) {  4: window.alert(“You must enter a value in the field”); 5: field.focus(); 6: } 7: } 8: </script> 9: <form name=”myForm” action=”target.html”> 10: Text Field: <input type=”text” name=”myField”onBlur=”checkField(this)”> 11: <br><input type=”submit”> 12: </form>  50 验证Select项 1: function checkList(selection) {  2: if (selection.length == 0) {  3: window.alert(“You must make a selection from the list.”); 4: return false; 5: } 6: return true; 7: }  51 动态改变表单的action 1: <form name=”myForm” action=”login.html”> 2: Username: <input type=”text” name=”username”><br> 3: Password: <input type=”password” name=”password”><br> 4: <input type=”button” value=”Login” onClick=”this.form.submit();”> 5: <input type=”button” value=”Register” onClick=”this.form.action = ‘register.html'; this.form.submit();”> 6: <input type=”button” value=”Retrieve Password” onClick=”this.form.action = ‘password.html'; this.form.submit();”> 7: </form>  52 使用图像按钮 1: <form name=”myForm” action=”login.html”> 2: Username: <input type=”text” name=”username”><br> 3: Password: <input type=”password”name=”password”><br> 4: <input type=”image” src="http://img.sxsky.net/it//”login.gif"” value=”Login”> 5: </form> 6:  53 表单数据的加密 1: <SCRIPT LANGUAGE='JavaScript'> 2: <!-- 3: function encrypt(item) {  4: var newItem = ''; 5: for (i=0; i < item.length; i++) {  6: newItem += item.charCodeAt(i) + '.'; 7: } 8: return newItem; 9: } 10: function encryptForm(myForm) {  11: for (i=0; i < myForm.elements.length; i++) {  12: myForm.elements[i].value = encrypt(myForm.elements[i].value); 13: } 14: } 15:  16: //--> 17: </SCRIPT> 18: <form name='myForm' onSubmit='encryptForm(this); window.alert(this.myField.value);'> 19: Enter Some Text: <input type=text name=myField><input type=submit> 20: </form>  JavaScript就这么回事5:窗口和框架  54 改变浏览器状态栏文字提示 1: <script language=”JavaScript”> 2: window.status = “A new status message”; 3: </script>  55 弹出确认提示框 1: <script language=”JavaScript”> 2: var userChoice = window.confirm(“Click OK or Cancel”); 3: if (userChoice) {  4: document.write(“You chose OK”); 5: } else {  6: document.write(“You chose Cancel”); 7: } 8: </script>  56 提示输入 1: <script language=”JavaScript”> 2: var userName = window.prompt(“Please Enter Your Name”,”Enter Your Name Here”); 3: document.write(“Your Name is “ + userName); 4: </script>  57 打开一个新窗口 1: //打开一个名称为myNewWindow的浏览器新窗口 2: <script language=”JavaScript”> 3: window.open(“http://www.liu21st.com/”,”myNewWindow”); 4: </script>  58 设置新窗口的大小 1: <script language=”JavaScript”> 2: window.open(“http://www.liu21st.com/”,”myNewWindow”,'height=300,width=300'); 3: </script>  59 设置新窗口的位置 1: <script language=”JavaScript”> 2: window.open(“http://www.liu21st.com/”,”myNewWindow”,'height=300,width=300,left=200,screenX=200,top=100,screenY=100'); 3: </script>  60 是否显示工具栏和滚动栏 1: <script language=”JavaScript”> 2: window.open(“http:  61 是否可以缩放新窗口的大小 1: <script language=”JavaScript”> 2: window.open('http://www.liu21st.com/' , 'myNewWindow', 'resizable=yes' );</script>  62 加载一个新的文档到当前窗口 1: <a href='#' onClick='document.location = '125a.html';' >Open New Document</a>  63 设置页面的滚动位置 1: <script language=”JavaScript”> 2: if (document.all) { //如果是IE浏览器则使用scrollTop属性 3: document.body.scrollTop = 200; 4: } else { //如果是NetScape浏览器则使用pageYOffset属性 5: window.pageYOffset = 200; 6: }</script>  64 在IE中打开全屏窗口 1: <a href='#' onClick=”window.open('http://www.juxta.com/','newWindow','fullScreen=yes');”>Open a full-screen window</a>  65 新窗口和父窗口的操作 1: <script language=”JavaScript”> 2: //定义新窗口 3: var newWindow = window.open(“128a.html”,”newWindow”); 4: newWindow.close(); //在父窗口中关闭打开的新窗口 5: </script> 6: 在新窗口中关闭父窗口 7: window.opener.close()  66 往新窗口中写内容 1: <script language=”JavaScript”> 2: var newWindow = window.open(“”,”newWindow”); 3: newWindow.document.open(); 4: newWindow.document.write(“This is a new window”); 5: newWIndow.document.close(); 6: </script>  67 加载页面到框架页面 1: <frameset cols=”50%,*”> 2: <frame name=”frame1” src="http://img.sxsky.net/it//”135a.html"”> 3: <frame name=”frame2” src="http://img.sxsky.net/it//”about:blank"”> 4: </frameset> 5: 在frame1中加载frame2中的页面 6: parent.frame2.document.location = “135b.html”;  68 在框架页面之间共享脚本 如果在frame1中html文件中有个脚本 1: function doAlert() {  2: window.alert(“Frame 1 is loaded”); 3: }  那么在frame2中可以如此调用该方法 1: <body onLoad=”parent.frame1.doAlert();”> 2: This is frame 2. 3: </body>  69 数据公用 可以在框架页面定义数据项,使得该数据可以被多个框架中的页面公用 1: <script language=”JavaScript”> 2: var persistentVariable = “This is a persistent value”; 3: </script> 4: <frameset cols=”50%,*”> 5: <frame name=”frame1” src="http://img.sxsky.net/it//”138a.html"”> 6: <frame name=”frame2” src="http://img.sxsky.net/it//”138b.html"”> 7: </frameset>  这样在frame1和frame2中都可以使用变量persistentVariable  70 框架代码库 根据以上的一些思路,我们可以使用一个隐藏的框架页面来作为整个框架集的代码库 1: <frameset cols=”0,50%,*”> 2: <frame name=”codeFrame” src="http://img.sxsky.net/it//”140code.html"”> 3: <frame name=”frame1” src="http://img.sxsky.net/it//”140a.html"”> 4: <frame name=”frame2” src="http://img.sxsky.net/it//”140b.html"”> 5:

在习作的过程中尝试着贪吃蛇游戏用JS实现了。竟然成功了。 思路:使用10px*10px的div层担当“像素”,然后使用40*40矩阵160个“像素”构成了游戏的界面。 下面是代码: 复制代码 代码如下:// JavaScript Document alert("键盘的方向键控制方向,空格键暂停。\nLIFE制作\nhttp://blog.csdn.net/anhulife"); // 添加基本的图形块,即160个10 * 10的层组成的二维矩阵 var rowindex = new Array(40); var colindex; var cell; // 图像单元的定义 var backcolor = "black"; for(var i = 0; i < 40; i ++ ) { colindex = new Array(40); for(var j = 0; j < 40; j ++ ) { // 设置每个单元的属性 cell = document.createElement("div"); cell.style.backgroundColor = backcolor; cell.style.width = "10px"; cell.style.height = "10px"; cell.style.position = "absolute"; cell.style.left = "" + (j * 10 + 100) + "px"; cell.style.top = "" + (i * 10 + 100) + "px"; cell.style.overflow = "hidden"; // 添加单元 document.body.appendChild(cell); // 填充列组 colindex[j] = cell; } // 填充行组 rowindex[i] = colindex; } // 贪吃蛇类的定义,基于基本的图像单元 function snake() { // 定义蛇的身体,并初始化 this.bodycolor = "white"; this.bodys = new Array(); for(var i = 20; i < 25; i ++ ) { rowindex[20][i].style.backgroundColor = this.bodycolor; // rowindex的第一个坐标是行标,第二是列标 this.bodys.push(rowindex[20][i]); } // 定义蛇的头部坐标,第一个是行标, 第二个是列标 this.head = [20, 20]; // 定义蛇的前进方向,0代表左、1代表下、2代表右、3代表上 this.direct = 0; } // 移动模块 function move() { // 根据前进方向计算头部的坐标 switch(this.direct) { case 0 : this.head[1] -= 1; break; case 1 : this.head[0] += 1; break; case 2 : this.head[1] += 1; break; case 3 : this.head[0] -= 1; break; } // 判断是否越界 if(this.head[0] < 0 || this.head[0] > 39 || this.head[1] < 0 || this.head[1] > 39) { // 如果越界则返回false return false; } else // 如果没有越界则检查下一个元素的性质,如果是食物则吃掉,并再生成食物。如果是其自身则返回false if(this.head[0] == food[0] && this.head[1] == food[1]) { // 如果是食物 rowindex[this.head[0]][this.head[1]].style.backgroundColor = this.bodycolor; this.bodys.unshift(rowindex[this.head[0]][this.head[1]]); score++; makefood(); return true; } else // 如果是它自身 if(rowindex[this.head[0]][this.head[1]].style.backgroundColor == this.bodycolor) { if(rowindex[this.head[0]][this.head[1]] == this.bodys.pop())// 如果是它的尾部 { this.bodys.unshift(rowindex[this.head[0]][this.head[1]]); return true; } // 如果不是尾部 return false; } // 以上情况都不是 this.bodys.pop().style.backgroundColor = backcolor; rowindex[this.head[0]][this.head[1]].style.backgroundColor = this.bodycolor; this.bodys.unshift(rowindex[this.head[0]][this.head[1]]); return true; } snake.prototype.move = move; // 生成食物模块 var foodcolor = "blue"; var food = [20, 17]; rowindex[food[0]][food[1]].style.backgroundColor = foodcolor; function makefood() { var tempfood; var tempelement; out : while(true) { tempfood = [Math.round(Math.random() * 39), Math.round(Math.random() * 39)]; tempelement = rowindex[tempfood[0]][tempfood[1]]; for(var i in s.bodys) { if(s.bodys[i] == tempelement) { // 如果随机生成的食物在蛇的身体上,则跳出继续 continue out; } // 生成食物成功 break out; } } food = tempfood; rowindex[food[0]][food[1]].style.backgroundColor = foodcolor; } // 转向模块和暂停模块 document.onkeydown = turnorstop; function turnorstop(event) { if(window.event != undefined) { if(parseInt(window.event.keyCode)==32) { alert("休息一下"); } else { switch(parseInt(window.event.keyCode)) { case 37 : if(s.direct!=2) s.direct = 0; break; case 38 : if(s.direct!=1) s.direct = 3; break; case 39 : if(s.direct!=0) s.direct = 2; break; case 40 : if(s.direct!=3) s.direct = 1; break; } } } else { if(parseInt(event.which)==32) { alert("休息一下"); } else { switch(parseInt(event.which)) { case 37 : if(s.direct!=2) s.direct = 0; break; case 38 : if(s.direct!=1) s.direct = 3; break; case 39 : if(s.direct!=0) s.direct = 2; break; case 40 : if(s.direct!=3) s.direct = 1; break; } } } } // 启动游戏模块 var s = new snake(); var time = 60;//蛇的速度指数 function startmove() { if(s.move()) { setTimeout(startmove, time); } else { alert("GAME OVER\n您的分数是:"+score+"分"); } } //分数设置 var score = -1; //运行游戏 startmove(); 在网页中连接该JS文件即可。

焦点访谈

最新最热的文章

更多 >

COPYRIGHT (©) 2017 Copyright ©2017 888真人 网站地图

联系我们

827570882

扫描二维码分享到微信