JavaScript的方法和技巧

    技术2022-05-11  74

    这篇介绍javascript方面的日志,我在是Clang上看到的。作者介绍挺全面的,所以转载过来让感兴趣的朋友看一下。呵呵~~~

     

    有些时候你精通一门语言,但是会发现你其实整天在和其它语言打交道,也许你以为这些微不足道,不至于影响你的开发进度,但恰恰是这些你不重视的东西会浪费你很多时间,我一直以为我早在几年前就已经精通JavaScript了,直到目前,我才越来越觉得JavaScript远比我想象的复杂和强大,我开始崇拜它,

    趁着节日的空隙,把有关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="/”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 = “String 1” + “String 2” ;

     

     

     

    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="/”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="/”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="/”image1.jpg"” width=100 name=”myImage 1” 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="/”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="/”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=”frame 1” src="/” 135a .html"”>

    3: <frame name=”frame 2” src="/”about:blank"”>

    4: </frameset>

    5: frame1中加载frame2中的页面

    6: parent.frame2.document.location = “135b.html”;

     

     

    68 在框架页面之间共享脚本

    如果在frame1html文件中有个脚本

     

    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=”frame 1” src="/” 138a .html"”>

    6: <frame name=”frame 2” src="/”138b.html"”>

    7: </frameset>

     

     

    这样在frame1frame2中都可以使用变量persistentVariable

    70 框架代码库

    根据以上的一些思路,我们可以使用一个隐藏的框架页面来作为整个框架集的代码库

     

    1: <frameset cols=”0,50%,*”>

    2: <frame name=”codeFrame” src="/”140code.html"”>

    3: <frame name=”frame 1” src="/” 140a .html"”>

    4: <frame name=”frame 2” src="/”140b.html"”>

    5: </frameset>


    最新回复(0)