这篇介绍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:

Kuasa rangka kerja JavaScript terletak pada pembangunan yang memudahkan, meningkatkan pengalaman pengguna dan prestasi aplikasi. Apabila memilih rangka kerja, pertimbangkan: 1.

Pengenalan Saya tahu anda mungkin merasa pelik, apa sebenarnya yang perlu dilakukan oleh JavaScript, C dan penyemak imbas? Mereka seolah -olah tidak berkaitan, tetapi sebenarnya, mereka memainkan peranan yang sangat penting dalam pembangunan web moden. Hari ini kita akan membincangkan hubungan rapat antara ketiga -tiga ini. Melalui artikel ini, anda akan mempelajari bagaimana JavaScript berjalan dalam penyemak imbas, peranan C dalam enjin pelayar, dan bagaimana mereka bekerjasama untuk memacu rendering dan interaksi laman web. Kita semua tahu hubungan antara JavaScript dan penyemak imbas. JavaScript adalah bahasa utama pembangunan front-end. Ia berjalan secara langsung di penyemak imbas, menjadikan laman web jelas dan menarik. Adakah anda pernah tertanya -tanya mengapa Javascr

Node.js cemerlang pada I/O yang cekap, sebahagian besarnya terima kasih kepada aliran. Aliran memproses data secara berperingkat, mengelakkan beban memori-ideal untuk fail besar, tugas rangkaian, dan aplikasi masa nyata. Menggabungkan sungai dengan keselamatan jenis typescript mencipta powe

Perbezaan prestasi dan kecekapan antara Python dan JavaScript terutamanya dicerminkan dalam: 1) sebagai bahasa yang ditafsirkan, Python berjalan perlahan tetapi mempunyai kecekapan pembangunan yang tinggi dan sesuai untuk pembangunan prototaip pesat; 2) JavaScript adalah terhad kepada benang tunggal dalam penyemak imbas, tetapi I/O multi-threading dan asynchronous boleh digunakan untuk meningkatkan prestasi dalam node.js, dan kedua-duanya mempunyai kelebihan dalam projek sebenar.

JavaScript berasal pada tahun 1995 dan dicipta oleh Brandon Ike, dan menyedari bahasa itu menjadi C. 1.C Language menyediakan keupayaan pengaturcaraan prestasi tinggi dan sistem untuk JavaScript. 2. Pengurusan memori JavaScript dan pengoptimuman prestasi bergantung pada bahasa C. 3. Ciri lintas platform bahasa C membantu JavaScript berjalan dengan cekap pada sistem operasi yang berbeza.

JavaScript berjalan dalam penyemak imbas dan persekitaran Node.js dan bergantung pada enjin JavaScript untuk menghuraikan dan melaksanakan kod. 1) menjana pokok sintaks abstrak (AST) di peringkat parsing; 2) menukar AST ke bytecode atau kod mesin dalam peringkat penyusunan; 3) Laksanakan kod yang disusun dalam peringkat pelaksanaan.

Trend masa depan Python dan JavaScript termasuk: 1. Kedua -duanya akan terus mengembangkan senario aplikasi dalam bidang masing -masing dan membuat lebih banyak penemuan dalam prestasi.

Kedua -dua pilihan Python dan JavaScript dalam persekitaran pembangunan adalah penting. 1) Persekitaran pembangunan Python termasuk Pycharm, Jupyternotebook dan Anaconda, yang sesuai untuk sains data dan prototaip cepat. 2) Persekitaran pembangunan JavaScript termasuk node.js, vscode dan webpack, yang sesuai untuk pembangunan front-end dan back-end. Memilih alat yang betul mengikut keperluan projek dapat meningkatkan kecekapan pembangunan dan kadar kejayaan projek.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Dreamweaver Mac版
Alat pembangunan web visual
