国外的为初学者写的JavaScript教程


Posted in Javascript onJune 09, 2008
  • Embedding and including
  • write and writeln
  • Document object
  • Message box
  • Function
  • Event handler
  • Form
  • Link
  • Date
  • Window
  • Frame

Embedding and including

Let's first see a simple example:

<html> 
<head> 
<title>This is a JavaScript example</title> 
<script language="JavaScript"> 
<!-- 
document.write("Hello World!"); 
//--> 
 
</script> 
</head> 
<body> Hi, man! </body> 
</html>

Usually, JavaScript code starts with the tag <script language="JavaScript"> and ends with the tag </script>. The code placed between <head> and </head>. Sometimes, people embed the code in the <body> tags:

<html> 
<head></head> 
<body> 
<script> 
.....// The code embedded in the <body> tags. 
</script> 
</body> 
</html>

Why do we place JavaScript code inside comment fields <!-- and //-->? It's for ensuring that the Script is not displayed by old browsers that do not support JavaScript. This is optional, but considered good practice. The LANGUAGE attribute also is optional, but recommended. You may specify a particular version of JavaScript:

<script language="JavaScript1.2">

You can use another attribute SRC to include an external file containing JavaScript code:

<script language="JavaScript" src="hello.js"></script>

For example, shown below is the code of the external file hello.js:

document.write("Hello World!")

The external file is simply a text file containing JavaScript code with the file name extension ".js". Note:

  1. Including an external file only functions reliably across platforms in the version 4 browsers.
  2. The code can't include tags <script language...> and </script>, or you will get an error message.

Back to top

write and writeln

In order to output text in JavaScript you must use write() or writeln(). Here's an example:

<HTML> 
<HEAD> 
<TITLE> Welcome to my site</TITLE></HEAD> 
<BODY> 
<SCRIPT LANGUAGE="JAVASCRIPT"> 
<!-- 
document.write("Welcome to my site!"); 
// --> 
 
</SCRIPT> 
</BODY> 
</HTML>

Note: the document object write is in lowercase as JavaScript is case sensitive. The difference between write and writeln is: write just outputs a text, writeln outputs the text and a line break.


Back to top

Document object

The document object is one of the most important objects of JavaScript. Shown below is a very simple JavaScript code:

document.write("Hi there.")

In this code, document is the object. write is the method of this object. Let's have a look at some of the other methods that the document object possesses.

lastModified

You can always include the last update date on your page by using the following code:
<script language="JavaScript"> 
document.write("This page created by John N. Last update:" + document.lastModified); 
</script>

All you need to do here is use the lastModified property of the document. Notice that we used + to put together This page created by John N. Last update: and document.lastModified.

bgColor and fgColor

Lets try playing around with bgColor and fgColor:
<script> 
document.bgColor="black" 
document.fgColor="#336699" 
</script>

Back to top

Message Box

alert

There are three message boxes: alert, confirm, and prompt. Let's look at the first one:
<body> 
<script> 
window.alert("Welcome to my site!") 
</script> 
</body>

You can put whatever you want inside the quotation marks.

confirm

An example for confirm box:
window.confirm("Are you sure you want to quit?")

prompt

Prompt box is used to allow a user to enter something according the promotion:
window.prompt("please enter user name")

In all our examples above, we wrote the box methods as window.alert(). Actually, we could simply write the following instead as:

alert() 
confirm() 
prompt()

Back to top

Variables and Conditions

Let's see an example:

<script> 
var x=window.confirm("Are you sure you want to quit") 

if (x) 
  window.alert("Thank you.") 
else 
  window.alert("Good choice.") 
</script>

There are several concepts that we should know. First of all, var x= is a variable declaration. If you want to create a variable, you must declare the variable using the var statement. x will get the result, namely, true or false. Then we use a condition statement if else to give the script the ability to choose between two paths, depending on this result (condition for the following action). If the result is true (the user clicked "ok"), "Thank you" appears in the window box. If the result is false (the user clicked "cancel"), "Good choice" appears in the window box instead. So we can make more complex boxes using var, if and those basic methods.

<script> 
var y=window.prompt("please enter your name") 
window.alert(y) 
</script>

Another example:

<html><head> 
<script> 
var x=confirm("Are you sure you want to quit?") 
if (!x) 
  window.location="http://www.yahoo.com" 
</script> 
</head> 
<body> 
Welcome to my website!. 
</body></html>

If you click "cancel", it will take you to yahoo, and clicking ok will continue with the loading of the current page "Welcome to my website!". Note:if (!x)means: if click "cancel". In JavaScript, the exclamation mark ! means: "none".


Back to top

Function

Functions are chunks of code.Let's create a simple function:

function test() 
{ 
  document.write("Hello can you see me?") 
}

Note that if only this were within your <script></script> tags, you will not see "Hello can you see me?" on your screen because functions are not executed by themselves until you call upon them. So we should do something:

function test() 
{ 
  document.write("Hello can you see me?") 
} 
test()

Last linetest() calls the function, now you will see the words "Hello can you see me?".


Back to top

Event handler

What are event handlers? They can be considered as triggers that execute JavaScript when something happens, such as click or move your mouse over a link, submit a form etc.

onClick

onClick handlers execute something only when users click on buttons, links, etc. Let's see an example:
<script> 
function ss() 
{ 
alert("Thank you!") 
} 
</script> 
<form> 
<input type="button" value="Click here" onclick="ss()"> 
</form>

The function ss() is invoked when the user clicks the button. Note: Event handlers are not added inside the <script> tags, but rather, inside the html tags.

onLoad

The onload event handler is used to call the execution of JavaScript after loading:
<body onload="ss()"> 
<frameset onload="ss()"> 
<img src="whatever.gif" onload="ss()">

onMouseover,onMouseout

These handlers are used exclusively with links.
<a href="#" onMouseOver="document.write('Hi, nice to see you!">Over Here!</a> 
<a href="#" onMouseOut="alert('Good try!')">Get Out Here!</a>

onUnload

onunload executes JavaScript while someone leaves the page. For example to thank users.
<body onunload="alert('Thank you for visiting us. See you soon')">

Handle multiple actions

How do you have an event handler call multiple functions/statements? That's simple. You just need to embed the functions inside the event handler as usual, but separate each of them using a semicolon:
<form> 
<input type="button" value="Click here!" onClick="alert('Thanks 
for visiting my site!');window.location='http://www.yahoo.com'"> 
</form>

Back to top

Form

Let's say you have a form like this:

<form name="aa"> 
<input type="text" size="10" value="" name="bb"><br> 
<input type="button" 
value="Click Here"onclick="alert(document.aa.bb.value)"> 
</form>

Notice that we gave the names to the form and the element. So JavaScript can gain access to them.

onBlur

If you want to get information from users and want to check each element (ie: user name, password, email) individually, and alert the user to correct the wrong input before moving on, you can use onBlur. Let's see how onblur works:
<html><head><script> 
function emailchk() 
{ 
var x=document.feedback.email.value 
if (x.indexOf("@")==-1) 
{ 
  alert("It seems you entered an invalid email address.") 
  document.feedback.email.focus() 
} 
} 
</script></head><body>
<form 
name="feedback"> 
Email:<input type="text" size="20" name="email" 
onblur="emailchk()"><br> 
Comment: <textarea name="comment" rows="2" cols="20"></textarea><br> 
<input type="submit" value="Submit"> 
</form> 
</body></html>

If you enter an email address without the @, you'll get an alert asking you to re-enter the data. What is: x.indexOf(@)==-1? This is a method that JavaScript can search every character within a string and look for what we want. If it finds it will return the position of the char within the string. If it doesn't, it will return -1. Therefore, x.indexOf("@")==-1 basically means: "if the string doesn't include @, then:

alert("It seems you entered an invalid email address.") 
document.feedback.email.focus()

What's focus()? This is a method of the text box, which basically forces the cursor to be at the specified text box. onsubmit Unlike onblur, onsubmit handler is inserted inside the <form> tag, and not inside any one element. Lets do an example:

<script> 
<!-- 
function validate() 
{ 
if(document.login.userName.value=="") 
{ 
  alert ("Please enter User Name") 
  return false 
} 
if(document.login.password.value=="") 
{ 
  alert ("Please enter Password") 
  return false 
} 
} 
//--> 
 
</script>
<form name="login" onsubmit="return validate()"> 
<input type="text" size="20" name="userName"> 
<input type="text" size="20" name="password"> 
<input type="submit" name="submit" value="Submit"> 
</form>

Note:
if(document.login.userName.value==""). This means "If the box named userName of the form named login contains nothing, then...". return false. This is used to stop the form from submitting. By default, a form will return true if submitting. return validate() That means, "if submitting, then call the function validate()".

Protect a file by using Login

Let's try an example
<html><head> 
<SCRIPT Language="JavaScript"> 
function checkLogin(x) 
{ 
if ((x.id.value != "Sam")||(x.pass.value !="Sam123")) 
{ 
  alert("Invalid Login"); 
  return false; 
} 
else 
  location="main.htm" 
} 
</script>
</head><body> 
<form> 
<p>UserID:<input type="text" name="id"></p> 
<p>Password:<input type="password" name="pass"></p> 
<p><input type="button" value="Login" onClick="checkLogin(this.form)"></p> 
</form> 
</body></html>

|| means "or", and ,!= indicates "not equal". So we can explain the script: "If the id does not equal 'Sam', or the password does not equal 'Sam123', then show an alert ('Invalid Login') and stop submitting. Else, open the page 'main.htm'".


Back to top

Link

In most cases, a form can be repaced by a link:

<a href="JavaScript:window.location.reload()">Click to reload!</a>

More examples:

<a href="#" onClick="alert('Hello, world!')">Click me to say Hello</a><br>
<a href="#" onMouseOver="location='main.htm'">Mouse over to see Main Page</a>

Back to top

Date

Let's see an example:

<HTML><HEAD><TITLE>Show 
Date</TITLE></HEAD> 
<BODY> 
<SCRIPT LANGUAGE="JavaScript"> 
var x= new Date(); 
document.write (x); 
</SCRIPT> 
</BODY></HTML>

To activate a Date Object, you can do this: var x=new Date(). Whenever you want to create an instance of the date object, use this important word: new followed by the object name().

Dynamically display different pages

You can display different pages according to the different time. Here is an example:
var banTime= new Date() 
var ss=banTime.getHours() 
if (ss<=12) 
  document.write("<img src='banner1.gif'>") 
else 
  document.write("<img src='banner2.gif'>")
Date object
Methods
getDate getTimegetTimezoneOffset getDaygetMonthgetYear getSecondsgetMinutesgetHours

 

Window

Open a window

To open a window, simply use the method "window.open()":
<form> 
<input type="button" value="Click here to see" onclick="window.open('test.htm')"> 
</form>

You can replace test.htm with any URL, for example, with http://www.yahoo.com.

Size, toolbar, menubar, scrollbars, location, status

Let's add some of attributes to the above script to control the size of the window, and show: toolbar, scrollbars etc. The syntax to add attributes is:
open("URL","name","attributes")

For example:

<form> 
<input type="button" value="Click here to see" 
onclick="window.open('page2.htm','win1','width=200,height=200,menubar')"> 
</form>

Another example with no attributes turned on, except the size changed:

<form> 
<input type="button" value="Click here to see" 
onclick="window.open('page2.htm','win1','width=200,height=200')"> 
</form>

Here is the complete list of attributes you can add:

width height toolbar
location directories status
scrollbars resizable menubar

Reload

To reload a window, use this method:
window.location.reload()

Close Window

Your can use one of the codes shown below:
<form> 
<input type="button" value="Close Window" onClick="window.close()"> 
</form> 
<a href="javascript:window.close()">Close Window</a>

Loading

The basic syntax when loading new content into a window is:
window.location="test.htm"

This is the same as

<a href="test.htm>Try this </a>

Let's provide an example, where a confirm box will allow users to choose between going to two places:

<script> 
<!-- 
function ss() 
{ 
var ok=confirm('Click "OK" to go to yahoo, "CANCEL" to go to hotmail') 
if (ok) 
location="http://www.yahoo.com" 
else 
location="http://www.hotmail.com" 
} 
//--> 
 
</script>

Remote Control Window

Let's say you have opened a new window from the current window. After that, you will wonder how to make a control between the two windows. To do this, we need to first give a name to the window.Look at below:
aa=window.open('test.htm','','width=200,height=200')

By giving this window a name "aa", it will give you access to anything that's inside this window from other windows. Whenever we want to access anything that's inside this newly opened window, for example, to write to this window, we would do this: aa.document.write("This is a test.").

Now, let's see an example of how to change the background color of another window:

<html><head><title></title></head> 
<body> 
<form> 
<input type="button" value="Open another page" 
onClick="aa=window.open('test.htm','','width=200,height=200')"> 
<input type="radio" name="x" onClick="aa.document.bgColor='red'"> 
<input type="radio" name="x" onClick="aa.document.bgColor='green'"> 
<input type="radio" name="x" onClick="aa.document.bgColor='yellow'"> 
</form> 
</body></html>

opener

Using "opener" property, we can access the main window from the newly opened window.

Let's create Main page:

<html> 
<head> 
<title></title> 
</head> 
<body> 
<form> 
<input type="button" value="Open another page" 
onClick="aa=window.open('test.htm','','width=100,height=200')"> 
</form> 
</body> 
</html>

Then create Remote control page (in this example, that is test.htm):

<html> 
<head> 
<title></title> 
<script> 
function remote(url){ 
window.opener.location=url 
} 
</script> 
</head> 
<body> 
<p><a href="#" onClick="remote('file1.htm')">File 
1</a></p> 
<p><a href="#" onClick="remote('file2.htm')">File 
2</a></p> 
</body> 
</html>

Try it now!


Frame

One of the most popular uses of loading multiple frames is to load and change the content of more than one frame at once. Lets say we have a parent frame:

<html> 
<frameset cols="150,*"> 
<frame src="page1.htm" name="frame1"> 
<frame src="page2.htm" name="frame2"> 
</frameset> 
</html>

We can add a link in the child frame "frame1" that will change the contents of not only page1, but page2 too. Shown below is the html code for it:

<html> 
<body> 
<h2>This is page 1 </h2> 
<a href="page3.htm" 
onClick="parent.frame2.location='page4.htm'">Click Here</a> 
</body> 
</html>

Notice: You should use "parent.frameName.location" to access another frame. "parent" standards for the parent frame containing the frameset code.


 

Javascript 相关文章推荐
jquery 选项卡效果 新手代码
Jul 08 Javascript
js 固定悬浮效果实现思路代码
Aug 02 Javascript
javascript的内存管理详解
Aug 07 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
Oct 26 Javascript
Node.js中使用jQuery的做法
Aug 17 Javascript
javascript 判断页面访问方式电脑或者移动端
Sep 19 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
Jan 18 Javascript
解析JS在获取当前月的最后一天遇到的坑
Aug 30 Javascript
小程序点击图片实现png转jpg
Oct 22 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
Dec 16 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
Jun 03 Javascript
js实现碰撞检测
Jan 29 Javascript
使用jscript实现二进制读写脚本代码
Jun 09 #Javascript
JScript中使用ADODB.Stream判断文件编码的代码
Jun 09 #Javascript
javascript 数组的方法集合
Jun 05 #Javascript
js程序中美元符号$是什么
Jun 05 #Javascript
js字符编码函数区别分析
Jun 05 #Javascript
JavaScript 应用类库代码
Jun 02 #Javascript
javascript数组的扩展实现代码集合
Jun 01 #Javascript
You might like
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
PHP中的异常处理机制深入讲解
2020/11/10 PHP
通过修改referer下载文件的方法
2008/05/11 Javascript
js 操作符实例代码
2009/10/24 Javascript
JavaScript 操作键盘的Enter事件(键盘任何事件),兼容多浏览器
2010/10/11 Javascript
JavaScript生成的动态下雨背景效果实现方法
2015/02/25 Javascript
jquery中trigger()无法触发hover事件的解决方法
2015/05/07 Javascript
JavaScript实现同一页面内两个表单互相传值的方法
2015/08/12 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
vue学习笔记之指令v-text &amp;&amp; v-html &amp;&amp; v-bind详解
2017/05/12 Javascript
jQuery实现简单的手风琴效果
2020/04/17 jQuery
详解js静态资源文件请求的处理
2017/08/01 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
vue实现按需加载组件及异步组件功能
2019/05/27 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
Python 中的pygame安装与配置教程详解
2020/02/10 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
使用pygame编写Flappy bird小游戏
2020/03/14 Python
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
茱莉蔻美国官网:Jurlique美国
2020/11/24 全球购物
Jowissa官方网站:瑞士制造的手表,优雅简约的设计
2020/07/29 全球购物
十佳家长事迹材料
2014/08/26 职场文书
2015年元旦标语大全
2014/12/09 职场文书
新人入职感言
2015/07/31 职场文书
《作风建设永远在路上》心得体会
2016/01/21 职场文书
八年级英语教学反思
2016/02/15 职场文书
建立共青团委员会的请示
2019/04/02 职场文书
python如何在word中存储本地图片
2021/04/07 Python