1.JavaScript 浏览器检测
navigator
浏览器:navigator.appName
浏览器版本:navigator.appVersion
代码:navigator.appCodeName
平台:navigator.platform
Cookies 启用:navigator.cookieEnabled
浏览器的用户代理报头:navigator.userAgent
以下信息可能找不到
MinorVersion:navigator.appMinorVersion
CPUClass:navigator.cpuClass
OnLine:navigator.onLine
BrowserLanguage::navigator.browserLanguage
SystemLanguage:navigator.systemLanguage
UserLanguage:navigator.userLanguage
重要事项:在 IE 5.0 及以后版本中,版本号是不正确的!在 IE 5.0 和 IE 6.0 中,微软为 appVersion 字符串赋的值是 4.0。
案例: 判断浏览器信息 实际上 判断浏览器、系统、平台都用的navigator.userAgent
function detectBrowser() {
var browser = navigator.appName
var b_version = navigator.appVersion
var version = parseFloat(b_version)
if ((browser == "Netscape" || browser == "Microsoft Internet Explorer")
&& (version >= 4)) {
alert("Your browser is good enough!")
} else {
alert("It's time to upgrade your browser!")
}
}
2.JavaScript Cookies
cookie 用来识别用户
每个key都有自己的失效时间,并且设置一个key的value不会影响到其他KEY
escape()方法把字符串按 URL 编码方法来编码
toGMTString()设定 Cookie 的时效日期都是用 GMT 格式的时间的,其它格式的时间是没有作用的。
不指定有效期expires 默认关闭浏览器后失效
function setCookie(key, value, expiredays) {
var exdate = new Date()
exdate.setDate(exdate.getDate() + expiredays)
document.cookie = key + "=" + escape(value)
+ ((expiredays == null) ? "" : "; expires=" + exdate.toGMTString());
}
function getCookie(key) {
if (document.cookie.length > 0) {
keyStart = document.cookie.indexOf(key + "=")
if (keyStart != -1) {
keyStart = keyStart + key.length + 1
keyEnd = document.cookie.indexOf(";", keyStart)
if (keyEnd == -1)
keyEnd = document.cookie.length
return unescape(document.cookie.substring(keyStart, keyEnd))
}
}
return ""
}
function delCookie(key) {
var expires = new Date();
expires.setTime(expires.getTime() - 1);
document.cookie = key + '=value;expires=' + expires.toGMTString();
}
3.JavaScript 表单验证
JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。
(1)验证表单通过form标签的onsubmit属性,来调用JS方法实现,如果JS方法返回false,则不提交数据
(2)可以在标签中指定name,并在JS方法中用with语句方便开发。需要注意的是,如果有重名的情况下,请使用tagName[index]
(3)如果判断为false,可以通过tagName.focus获得焦点
案例
<form id="testForm" action="submitpage.htm" onsubmit="return validate_form(this)" method="post">
Email:
<input type="text" name="email" size="30">
<input type="submit" value="Submit">
</form>
function validate_form(thisform) {
with (thisform) {
if (email.length > 1) {
if (validate_required(email[0], "Email must be filled out!") == false) {
email[0].focus();
return false
}
} else {
if (validate_required(email, "Email must be filled out!") == false) {
email.focus();
return false
}
}
}
}
function validate_required(field, alerttxt) {
with (field) {
if (value == null || value == "") {
alert(alerttxt);
return false
} else {
// return true
document.testForm.submit();
}
}
}
4.JavaScript 动画
我们可以使用 JavaScript 来创建动态的图像。
利用两个不同的事件来驱动两个相应的函数,来切换两张对应的图片以创造出动画效果。
窍门是:使用 JavaScript 通过不同的事件来切换不同的图像。比如利用onmouseover和onmouseout
案例:
<a href="/index.html" target="_blank">
<img border="0" alt="Visit W3School!" src="/i/eg_mouse2.jpg" name="b1" onmouseover="mouseOver()" onmouseout="mouseOut()" />
</a>
function mouseOver() {
document.b1.src = "/i/eg_mouse.jpg"
}
function mouseOut() {
document.b1.src = "/i/eg_mouse2.jpg"
}
5.JavaScript 图像地图
图像地图指的是带有可点击区域的图像。
图像地图是带有可点击区域的图像。通常情况下,每个区域是一个相关的超级链接。单击某个区域,就会到达相关的链接。
我们可向图像地图内部的 <area> 标签添加(能调用JavaScript的)事件。
<area> 标签支持以下事件:onClick、onDblClick、onMouseDown、onMouseUp、onMouseOver、onMouseMove、onMouseOut、onKeyPress、onKeyDown、onKeyUp、onFocus和onBlur。
6.JavaScript 计时
通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。
JavaScript 计时事件
通过使用 JavaScript,我们有能力作到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。
在 JavaScritp 中使用计时事件是很容易的,两个关键方法是:
setTimeout() 未来的某时执行代码
语法
var t=setTimeout("javascript语句",毫秒)
clearTimeout() 取消setTimeout()
语法
clearTimeout(setTimeout_variable)
案例 计时和消除计时
var c = 0
var t
function timedCount() {
document.getElementById('txt').value = c
c = c + 1
t = setTimeout("timedCount()", 1000)
}
function stopCount() {
clearTimeout(t)
}
7.创建你自己的 JavaScript 对象
JavaScript 对象
JavaScript 拥有若干内置的对象,比如 String、Date、Array 等等。除了这些对象,你还可以创建自己的对象。
对象仅仅是一种特殊的数据类型而已,并拥有一系列的属性和方法。
让我们用一个例子来理解:一个人就是一个对象。属性是和对象有关的值。人的属性包括其名字、身高、体重、年纪、肤色、眼睛的颜色等等。所有的人都有这些属性,但是每个人的属性的值却各不相同。对象也拥有方法。方法是可施加于对象上的行为。人的方法可能是吃、睡、工作、玩等等。
案例
function person(firstname, lastname, age, eyecolor) {
var obj = new Object();
obj.firstname = firstname
obj.lastname = lastname
obj.age = age
obj.eyecolor = eyecolor
obj.getFirstname = function() {
alert('1111');
return this.firstname;
};
return obj
}
var person = person("John", "Adams", 35, "black")
document.write(person.getFirstname() + " 的年龄是 " + person.age + " 岁。")
分享到:
相关推荐
1.7.2版本发布于2009年,虽然相对较旧,但仍然包含了许多关键的JavaScript语言特性,如函数、对象、数组、正则表达式等,以及一些高级特性如闭包和原型链。 使用"org.mozilla.javascript-1.7.2.jar",开发者可以...
此书旨在通过一种既有趣又深入的方式向读者介绍JavaScript的基础知识和高级概念,使学习过程不仅高效而且充满乐趣。 #### 二、书籍特点与教育理论基础 - **现代学习理论应用**:本书采用了现代学习理论中的建构...
JavaScript.DOM高级程序设计](加)桑贝斯.扫描版.zip.002 请下载3部份,再用360解压打开。 这是高级JAVASCRIPT编程,适合有javascript开发基础的同学看,没基础的,请忽略
这本书旨在帮助读者从专家的角度理解JavaScript的核心概念、高级特性以及实际应用。 首先,书中会详细讲解JavaScript的基础语法,包括变量、数据类型(如基本类型与引用类型)、运算符、控制结构(如条件语句和循环...
书中会讲解如何绑定和处理事件,以及使用事件委托等高级技巧。 5. jQuery库的引入:jQuery简化了许多JavaScript的常见任务,如选择元素、执行动画、处理事件和进行Ajax请求。书中的jQuery部分将介绍如何引入jQuery...
"JavaScript高级编程"这本书深入探讨了这门语言的高级特性和最佳实践,旨在帮助开发者提升技能水平,实现更高效、更可靠的代码编写。以下是该书可能涵盖的一些关键知识点: 1. **基础语法**:包括变量、数据类型...
本书的第三版详细介绍了JavaScript的核心概念和技术,为读者提供了全面而深入的理解,帮助他们掌握这个广泛应用于Web开发的关键语言。 JavaScript是一种轻量级的解释型编程语言,主要用于客户端的网页动态效果实现...
综上所述,《Pro.JavaScript.Design.Patterns.RETAiL.Dec.2007》是一本面向中高级Web开发者的书籍,旨在教育和引导开发者了解和掌握如何通过设计模式来优化和提升JavaScript代码质量,最终编写出可维护性高、复用性...
这本书是JavaScript领域的经典之作,由资深技术作家David Flanagan编写,覆盖了JavaScript语言的核心概念、客户端应用开发以及高级主题等各个方面。 #### 关键知识点详述 ##### 1. 引言 - **核心JavaScript**: 指...
JavaScript高级教程.chm
03-JavaScript高级.md
Node.js是一种主流框架,它允许你使用JavaScript快速构建具有高度可伸缩性的网络程序。可是,它有自己的学习曲线,这本较为深入的指南性图书首先介绍了Node.js平台的安装,然后重点关注:创建和加载模块;使用缓冲区...
"JavaScript高级程序设计" JavaScript是一种高级的编程语言,它的出现改变了Web开发的格局。 JavaScript的主要目的是处理一些输入的有效性验证,而在此之前,这个工作是留给诸如Perl之类的服务器端语言来完成的。...
JavaScript,作为一种广泛应用于Web开发的脚本语言,其在实际应用中常常会遇到命名冲突的问题。特别是在大型项目中,随着代码量的增加,不同模块之间的函数或变量名称可能相同,导致错误。为了解决这个问题,开发者...
不过,根据文件标题“Javascript高级应用与实践.pdf”,我们可以推测文档内容大致会涉及以下几个方面,尽管具体的细节无法得知: 1. JavaScript基础知识回顾:JavaScript是前端开发中最为核心的技术之一,文档可能...
JavaScript高级特性 - **闭包**:理解闭包的概念,探究其在代码封装和内存管理中的应用。 - **模块化编程**:使用命名空间、模块模式或ES6模块来组织代码,提高代码的可读性和可维护性。 - **异步编程**:熟悉...
5. **JavaScript高级特性**:ES6(ECMAScript 6)及后续版本引入了许多新特性,如箭头函数、模板字符串、类和模块系统。书中的第三版应该会涵盖这些现代JavaScript语法。 6. **JavaScript框架与库**:虽然书名未...
9. **高级话题**:可能包括闭包、作用域、函数式编程、模块化开发等进阶主题,帮助读者深入理解JavaScript的内在机制。 10. **实践案例**:书中可能包含多个实际项目案例,让读者能够在实践中学习和巩固所学知识。 ...