这篇介绍JavaScript方面的日志,我在是Clang上看到的。作者介绍挺全面的,所以转载过来让感兴趣的朋友看一下。呵呵~~~
有些时候你精通一门语言,但是会发现你其实整天在和其它语言打交道,也许你以为这些微不足道,不至于影响你的开发进度,但恰恰是这些你不重视的东西会浪费你很多时间,我一直以为我早在几年前就已经精通JavaScript了,直到目前,我才越来越觉得JavaScript远比我想象的复杂和强大,我开始崇拜它,就像崇拜所有OOP语言一样~
趁着节日的空隙,把有关JavaScript的方法和技巧整理下,让每个在为JavaScript而烦恼的人明白,JavaScript就这么回事!并希望JavaScript还可以成为你的朋友,让你豁然开朗,在项目中更好的应用~
适合阅读范围:对JavaScript一无所知~离精通只差一步之遥的人
基础知识:HTML
JavaScript就这么回事1:基础知识
1 创建脚本块
1: <script> <BR>2: JavaScript code goes here <BR>3: </script>
2 隐藏脚本代码
1: <script> <BR>2: <!-- <BR>3: document.write(“Hello”); <BR>4: // --> <BR>5: </script>
在不支持JavaScript的浏览器中将不执行相关代码
3 浏览器不支持的时候显示
1:
4 链接外部脚本文件
1: <script></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(“Hello”);
7 定义变量
1: var myVariable = “some value”;
8 字符串相加
1: var myString = “String1” + “String2”;
9 字符串搜索
1: <script> <BR>2: <!-- <BR>3: var myVariable = “Hello there”; <BR>4: var therePlace = myVariable.search(“there”); <BR>5: document.write(therePlace); <BR>6: // --> <BR>7: </script>
10 字符串替换
1: thisVar.replace(“Monday”,”Friday”);
11 格式化字串
1: <script> <BR>2: <!-- <BR>3: var myVariable = “Hello there”; <BR>4: document.write(myVariable.big() + “<br>”); <BR>5: document.write(myVariable.blink() + “<br>”); <BR>6: document.write(myVariable.bold() + “<br>”); <BR>7: document.write(myVariable.fixed() + “<br>”); <BR>8: document.write(myVariable.fontcolor(“red”) + “<br>”); <BR>9: document.write(myVariable.fontsize(“18pt”) + “<br>”); <BR>10: document.write(myVariable.italics() + “<br>”); <BR>11: document.write(myVariable.small() + “<br>”); <BR>12: document.write(myVariable.strike() + “<br>”); <BR>13: document.write(myVariable.sub() + “<br>”); <BR>14: document.write(myVariable.sup() + “<br>”); <BR>15: document.write(myVariable.toLowerCase() + “<br>”); <BR>16: document.write(myVariable.toUpperCase() + “<br>”); <BR>17: <BR>18: var firstString = “My String”; <BR>19: var finalString = firstString.bold().toLowerCase().fontcolor(“red”); <BR>20: // --> <BR>21: </script>
12 创建数组
1: <script> <BR>2: <!-- <BR>3: var myArray = new Array(5); <BR>4: myArray[0] = “First Entry”; <BR>5: myArray[1] = “Second Entry”; <BR>6: myArray[2] = “Third Entry”; <BR>7: myArray[3] = “Fourth Entry”; <BR>8: myArray[4] = “Fifth Entry”; <BR>9: var anotherArray = new Array(“First Entry”,”Second Entry”,”Third Entry”,”Fourth Entry”,”Fifth Entry”); <BR>10: // --> <BR>11: </script>
13 数组排序
1: <script> <BR>2: <!-- <BR>3: var myArray = new Array(5); <BR>4: myArray[0] = “z”; <BR>5: myArray[1] = “c”; <BR>6: myArray[2] = “d”; <BR>7: myArray[3] = “a”; <BR>8: myArray[4] = “q”; <BR>9: document.write(myArray.sort()); <BR>10: // --> <BR>11: </script>
14 分割字符串
1: <script> <BR>2: <!-- <BR>3: var myVariable = “a,b,c,d”; <BR>4: var stringArray = myVariable.split(“,”); <BR>5: document.write(stringArray[0]); <BR>6: document.write(stringArray[1]); <BR>7: document.write(stringArray[2]); <BR>8: document.write(stringArray[3]); <BR>9: // --> <BR>10: </script>
15 弹出警告信息
1: <script> <BR>2: <!-- <BR>3: window.alert(“Hello”); <BR>4: // --> <BR>5: </script>
16 弹出确认框
1: <script> <BR>2: <!-- <BR>3: var result = window.confirm(“Click OK to continue”); <BR>4: // --> <BR>5: </script>
17 定义函数
1: <script> <BR>2: <!-- <BR>3: function multiple(number1,number2) { <BR>4: var result = number1 * number2; <BR>5: return result; <BR>6: } <BR>7: // --> <BR>8: </script>
18 调用JS函数
1: Link text
2: Link text
19 在页面加载完成后执行函数
1:
2: Body of the page
3:
20 条件判断
1: <script> <BR>2: <!-- <BR>3: var userChoice = window.confirm(“Choose OK or Cancel”); <BR>4: var result = (userChoice == true) ? “OK” : “Cancel”; <BR>5: document.write(result); <BR>6: // --> <BR>7: </script>
21 指定次数循环
1: <script> <BR>2: <!-- <BR>3: var myArray = new Array(3); <BR>4: myArray[0] = “Item 0”; <BR>5: myArray[1] = “Item 1”; <BR>6: myArray[2] = “Item 2”; <BR>7: for (i = 0; i < myArray.length; i++) { <BR>8: document.write(myArray[i] + “<br>”); <BR>9: } <BR>10: // --> <BR>11: </script>
22 设定将来执行
1: <script> <BR>2: <!-- <BR>3: function hello() { <BR>4: window.alert(“Hello”); <BR>5: } <BR>6: window.setTimeout(“hello()”,5000); <BR>7: // --> <BR>8: </script>
23 定时执行函数
1: <script> <BR>2: <!-- <BR>3: function hello() { <BR>4: window.alert(“Hello”); <BR>5: window.setTimeout(“hello()”,5000); <BR>6: } <BR>7: window.setTimeout(“hello()”,5000); <BR>8: // --> <BR>9: </script>
24 取消定时执行
1: <script> <BR>2: <!-- <BR>3: function hello() { <BR>4: window.alert(“Hello”); <BR>5: } <BR>6: var myTimeout = window.setTimeout(“hello()”,5000); <BR>7: window.clearTimeout(myTimeout); <BR>8: // --> <BR>9: </script>
25 在页面卸载时候执行函数
1:
2: Body of the page
3:
JavaScript就这么回事2:浏览器输出
26 访问document对象
1: <script> <BR>2: var myURL = document.URL; <BR>3: window.alert(myURL); <BR>4: </script>
27 动态输出HTML
1: <script> <BR>2: document.write(“<p>Here's some information about this document:”); <BR>3: document.write(“<ul>”); <BR>4: document.write(“<li>Referring Document: “ + document.referrer + “”); <BR>5: document.write(“<li>Domain: “ + document.domain + “”); <BR>6: document.write(“<li>URL: “ + document.URL + “”); <BR>7: document.write(“”); <BR>8: </script>
28 输出换行
1: document.writeln(“a”);
2: document.writeln(“b”);
29 输出日期
1: <script> <BR>2: var thisDate = new Date(); <BR>3: document.write(thisDate.toString()); <BR>4: </script>
30 指定日期的时区
1: <script> <BR>2: var myOffset = -2; <BR>3: var currentDate = new Date(); <BR>4: var userOffset = currentDate.getTimezoneOffset()/60; <BR>5: var timeZoneDifference = userOffset - myOffset; <BR>6: currentDate.setHours(currentDate.getHours() + timeZoneDifference); <BR>7: document.write(“The time and date in Central Europe is: “ + currentDate.toLocaleString()); <BR>8: </script>
31 设置日期输出格式
1: <script> <BR>2: var thisDate = new Date(); <BR>3: var thisTimeString = thisDate.getHours() + “:” + thisDate.getMinutes(); <BR>4: var thisDateString = thisDate.getFullYear() + “/” + thisDate.getMonth() + “/” + thisDate.getDate(); <BR>5: document.write(thisTimeString + “ on “ + thisDateString); <BR>6: </script>
32 读取URL参数
1: <script> <BR>2: var urlParts = document.URL.split(“?”); <BR>3: var parameterParts = urlParts[1].split(“&”); <BR>4: for (i = 0; i < parameterParts.length; i++) { <BR>5: var pairParts = parameterParts[i].split(“=”); <BR>6: var pairName = pairParts[0]; <BR>7: var pairValue = pairParts[1]; <BR>8: document.write(pairName + “ :“ +pairValue ); <BR>9: } <BR>10: </script>
你还以为HTML是无状态的么?
33 打开一个新的document对象
1: <script> <BR>2: function newDocument() { <BR>3: document.open(); <BR>4: document.write(“<p>This is a New Document.”); <BR>5: document.close(); <BR>6: } <BR>7: </script>
34 页面跳转
1: <script> <BR>2: window.location = “http://www.liu21st.com/”; <BR>3: </script>
35 添加网页加载进度窗口
1:
2:
3: <script> <BR>4: var placeHolder = window.open('holder.html','placeholder','width=200,height=200'); <BR>5: </script>
6:
7:
8:
9:
This is the main page
10:
11:
JavaScript就这么回事3:图像
36 读取图像属性
1:

2: Width
3:
37 动态加载图像
1: <script> <BR>2: myImage = new Image; <BR>3: myImage.src = “Tellers1.jpg”; <BR>4: </script>
38 简单的图像替换
1: <script> <BR>2: rollImage = new Image; <BR>3: rollImage.src = “rollImage1.jpg”; <BR>4: defaultImage = new Image; <BR>5: defaultImage.src = “image1.jpg”; <BR>6: </script>
7: 8: onMouseOut=”document.myImage.src = defaultImage.src;”>
9:

39 随机显示图像
1: <script> <BR>2: var imageList = new Array; <BR>3: imageList[0] = “image1.jpg”; <BR>4: imageList[1] = “image2.jpg”; <BR>5: imageList[2] = “image3.jpg”; <BR>6: imageList[3] = “image4.jpg”; <BR>7: var imageChoice = Math.floor(Math.random() * imageList.length); <BR>8: document.write(‘<img src="/static/imghwm/default1.png" data-src="http://img.sxsky.net/it//”image1.jpg" class="lazy" src=”' + imageList[imageChoice] + ‘“ alt="JavaScript方法和技巧大全_基础知识" >'); <BR>9: </script>
40 函数实现的图像替换
1: <script> <BR>2: var source = 0; <BR>3: var replacement = 1; <BR>4: function createRollOver(originalImage,replacementImage) { <BR>5: var imageArray = new Array; <BR>6: imageArray[source] = new Image; <BR>7: imageArray[source].src = originalImage; <BR>8: imageArray[replacement] = new Image; <BR>9: imageArray[replacement].src = replacementImage; <BR>10: return imageArray; <BR>11: } <BR>12: var rollImage1 = createRollOver(“image1.jpg”,”rollImage1.jpg”); <BR>13: </script>
14: 15: onMouseOut=”document.myImage1.src = rollImage1[source].src;”>
16:

17:
41 创建幻灯片
1: <script> <BR>2: var imageList = new Array; <BR>3: imageList[0] = new Image; <BR>4: imageList[0].src = “image1.jpg”; <BR>5: imageList[1] = new Image; <BR>6: imageList[1].src = “image2.jpg”; <BR>7: imageList[2] = new Image; <BR>8: imageList[2].src = “image3.jpg”; <BR>9: imageList[3] = new Image; <BR>10: imageList[3].src = “image4.jpg”; <BR>11: function slideShow(imageNumber) { <BR>12: document.slideShow.src = imageList[imageNumber].src; <BR>13: imageNumber += 1; <BR>14: if (imageNumber < imageList.length) { <BR>15: window.setTimeout(“slideShow(“ + imageNumber + “)”,3000); <BR>16: } <BR>17: } <BR>18: </script>
19:
20:
21:

42 随机广告图片
1: <script> <BR>2: var imageList = new Array; <BR>3: imageList[0] = “image1.jpg”; <BR>4: imageList[1] = “image2.jpg”; <BR>5: imageList[2] = “image3.jpg”; <BR>6: imageList[3] = “image4.jpg”; <BR>7: var urlList = new Array; <BR>8: urlList[0] = “http://some.host/”; <BR>9: urlList[1] = “http://another.host/”; <BR>10: urlList[2] = “http://somewhere.else/”; <BR>11: urlList[3] = “http://right.here/”; <BR>12: var imageChoice = Math.floor(Math.random() * imageList.length); <BR>13: document.write(‘<a href=”' + urlList[imageChoice] + ‘“><img src="/static/imghwm/default1.png" data-src="http://img.sxsky.net/it//”login.gif" class="lazy" src=”' + imageList[imageChoice] + ‘“ alt="JavaScript方法和技巧大全_基础知识" >'); <BR>14: </script>
JavaScript就这么回事4:表单
还是先继续写完JS就这么回事系列吧~
43 表单构成
1:
44 访问表单中的文本框内容
1:
4: Check Text Field
45 动态复制文本框内容
1:
5: 6: document.myForm.myText.value;”>Copy Text Field
46 侦测文本框的变化
1:
47 访问选中的Select
1:
8: Check Selection List
48 动态增加Select项
1:
7: <script> <BR>8: document.myForm.mySelect.length++; <BR>9: document.myForm.mySelect.options[document.myForm.mySelect.length - 1].text = “3”; <BR>10: document.myForm.mySelect.options[document.myForm.mySelect.length - 1].value = “Third Choice”; <BR>11: </script>
49 验证表单字段
1: <script> <BR>2: function checkField(field) { <BR>3: if (field.value == “”) { <BR>4: window.alert(“You must enter a value in the field”); <BR>5: field.focus(); <BR>6: } <BR>7: } <BR>8: </script>
9:
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:
52 使用图像按钮
1:
6:
53 表单数据的加密
1: <script> <BR>2: <!-- <BR>3: function encrypt(item) { <BR>4: var newItem = ''; <BR>5: for (i=0; i < item.length; i++) { <BR>6: newItem += item.charCodeAt(i) + '.'; <BR>7: } <BR>8: return newItem; <BR>9: } <BR>10: function encryptForm(myForm) { <BR>11: for (i=0; i < myForm.elements.length; i++) { <BR>12: myForm.elements[i].value = encrypt(myForm.elements[i].value); <BR>13: } <BR>14: } <BR>15: <BR>16: //--> <BR>17: </script>
18:
JavaScript就这么回事5:窗口和框架
54 改变浏览器状态栏文字提示
1: <script> <BR>2: window.status = “A new status message”; <BR>3: </script>
55 弹出确认提示框
1: <script> <BR>2: var userChoice = window.confirm(“Click OK or Cancel”); <BR>3: if (userChoice) { <BR>4: document.write(“You chose OK”); <BR>5: } else { <BR>6: document.write(“You chose Cancel”); <BR>7: } <BR>8: </script>
56 提示输入
1: <script> <BR>2: var userName = window.prompt(“Please Enter Your Name”,”Enter Your Name Here”); <BR>3: document.write(“Your Name is “ + userName); <BR>4: </script>
57 打开一个新窗口
1: //打开一个名称为myNewWindow的浏览器新窗口
2: <script> <BR>3: window.open(“http://www.liu21st.com/”,”myNewWindow”); <BR>4: </script>
58 设置新窗口的大小
1: <script> <BR>2: window.open(“http://www.liu21st.com/”,”myNewWindow”,'height=300,width=300'); <BR>3: </script>
59 设置新窗口的位置
1: <script> <BR>2: window.open(“http://www.liu21st.com/”,”myNewWindow”,'height=300,width=300,left=200,screenX=200,top=100,screenY=100'); <BR>3: </script>
60 是否显示工具栏和滚动栏
1: <script> <BR>2: window.open(“http: <br><br><BR>61 是否可以缩放新窗口的大小 <br><br>1: <script language=”JavaScript”> <BR>2: window.open('http://www.liu21st.com/' , 'myNewWindow', 'resizable=yes' );</script>
62 加载一个新的文档到当前窗口
1: Open New Document
63 设置页面的滚动位置
1: <script> <BR>2: if (document.all) { //如果是IE浏览器则使用scrollTop属性 <BR>3: document.body.scrollTop = 200; <BR>4: } else { //如果是NetScape浏览器则使用pageYOffset属性 <BR>5: window.pageYOffset = 200; <BR>6: }</script>
64 在IE中打开全屏窗口
1: Open a full-screen window
65 新窗口和父窗口的操作
1: <script> <BR>2: //定义新窗口 <BR>3: var newWindow = window.open(“128a.html”,”newWindow”); <BR>4: newWindow.close(); //在父窗口中关闭打开的新窗口 <BR>5: </script>
6: 在新窗口中关闭父窗口
7: window.opener.close()
66 往新窗口中写内容
1: <script> <BR>2: var newWindow = window.open(“”,”newWindow”); <BR>3: newWindow.document.open(); <BR>4: newWindow.document.write(“This is a new window”); <BR>5: newWIndow.document.close(); <BR>6: </script>
67 加载页面到框架页面
1:
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:
2: This is frame 2.
3:
69 数据公用
可以在框架页面定义数据项,使得该数据可以被多个框架中的页面公用
1: <script> <BR>2: var persistentVariable = “This is a persistent value”; <BR>3: </script>
4:
这样在frame1和frame2中都可以使用变量persistentVariable
70 框架代码库
根据以上的一些思路,我们可以使用一个隐藏的框架页面来作为整个框架集的代码库
1:

引言我知道你可能會覺得奇怪,JavaScript、C 和瀏覽器之間到底有什麼關係?它們之間看似毫無關聯,但實際上,它們在現代網絡開發中扮演著非常重要的角色。今天我們就來深入探討一下這三者之間的緊密聯繫。通過這篇文章,你將了解到JavaScript如何在瀏覽器中運行,C 在瀏覽器引擎中的作用,以及它們如何共同推動網頁的渲染和交互。 JavaScript與瀏覽器的關係我們都知道,JavaScript是前端開發的核心語言,它直接在瀏覽器中運行,讓網頁變得生動有趣。你是否曾經想過,為什麼JavaScr

Node.js擅長於高效I/O,這在很大程度上要歸功於流。 流媒體匯總處理數據,避免內存過載 - 大型文件,網絡任務和實時應用程序的理想。將流與打字稿的類型安全結合起來創建POWE

Python和JavaScript在性能和效率方面的差異主要體現在:1)Python作為解釋型語言,運行速度較慢,但開發效率高,適合快速原型開發;2)JavaScript在瀏覽器中受限於單線程,但在Node.js中可利用多線程和異步I/O提升性能,兩者在實際項目中各有優勢。

JavaScript起源於1995年,由布蘭登·艾克創造,實現語言為C語言。 1.C語言為JavaScript提供了高性能和系統級編程能力。 2.JavaScript的內存管理和性能優化依賴於C語言。 3.C語言的跨平台特性幫助JavaScript在不同操作系統上高效運行。

JavaScript在瀏覽器和Node.js環境中運行,依賴JavaScript引擎解析和執行代碼。 1)解析階段生成抽象語法樹(AST);2)編譯階段將AST轉換為字節碼或機器碼;3)執行階段執行編譯後的代碼。

Python和JavaScript的未來趨勢包括:1.Python將鞏固在科學計算和AI領域的地位,2.JavaScript將推動Web技術發展,3.跨平台開發將成為熱門,4.性能優化將是重點。兩者都將繼續在各自領域擴展應用場景,並在性能上有更多突破。

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。

是的,JavaScript的引擎核心是用C語言編寫的。 1)C語言提供了高效性能和底層控制,適合JavaScript引擎的開發。 2)以V8引擎為例,其核心用C 編寫,結合了C的效率和麵向對象特性。 3)JavaScript引擎的工作原理包括解析、編譯和執行,C語言在這些過程中發揮關鍵作用。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

WebStorm Mac版
好用的JavaScript開發工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1
強大的PHP整合開發環境