`
Gi_gi
  • 浏览: 8773 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript基础

阅读更多
JS是一种脚本语言
JS是基于对象的语言
JS是事件驱动的语言
安全,与平台无关
功能:交互性,动态性
局限性:浏览器相关,平台(Windows,Unix)相关,安全性相关(不能打开、读、写、保存用户计算机/Web服务器上的文件)
与HTML:JS的基本成分:变量,函数和事件处理方法,和HTML代码纺织在一起,变量和函数被包容在新标签对<script>内,一般放在<head>标签对内;事件处理方法可以被包容在任何<body>中的标签对内,用于响应某事件,激发某JS函数。
JS代码可存在于HTML文件内,也可单独存在于JS文件内,于HTML文件中由<script>标签对引用。

JS区分大小写
弱变量
JS变量类型:数值型,布尔型,字符串型,空值
JS命名规则:由数字,大小写字母及下划线;不能以数字开头;大小写敏感等

JS创建变量及赋值:表达式。未赋值的为Undefeated
JS操作符:赋值操作符,条件表达式,算数操作符,位逻辑运算符,布尔操作符 比较操作符,连接操作符+,其他操作符(in,typeof,instanceof等)

JS流程控制:
      分支:if-else;switch-case-break-default-break;
     循环:for,while,do-while
     跳出循环:break,continue

JS对象模型:
JS是基于对象的(不是面向对象)
JS中有两种对象:JS提供的内置对象和程序中定义的对象
对象的属性,方法,数组,多维数组

JS用严格的层次结构引导Script至文档的任何区域,对每个对象的引用必须包括从项部到对象的所有层,直到对象名,路径中各个相连的对象之间用句点分开
一个对象的方法与属性也可以用句点的形式使用

JS创建类的方法的语法是一致的:function,而且这样的函数就成了类的构造函数,可以用New语句创建类的实例。
Property属性,属性的引用

JS对象Array:
属性:length
方法 :join()
      reverse();
      sort();

JS对象String
属性:length
方法:toUpperCase()
     toLowerCase()
     toString()
     substring()
     charAt()
     split()

JS对象:Date
方法:setDate(),setMonth(),setYear(),setTime()
     .Date.UTC()
     .Date.getDate(),.Date.getMonth(),.Date.getYear(),.Date.Parse(),.Date.getDay();
     .toGMTString(),.toLocalString()

JS对象:Math
属性:E,PI
方法:abs(),pow(),sqrt(),cos(),sin(),tan(),acos(),asin(),atan()......

JS屏幕对象:screen
属性:height,width,availHeight,availWidth,colorDepth

JS事件:是用户对网页的一些特定操作
事件处理程序的引入
on事件名:是JS规定的对应事件处理程序柄的名字,如onClick,onSubmit

引入方式:
1.事件处理程序柄名以属性名形式在HTML文本中某些适当的标记中出现,而对应的属性值是由网页编写者提供的JS程序段(或事件处理函数名)。
如:<input type="text" name="age" onChange="isNumber(this)">
2.将事件处理函数名赋给浏览器为页面创建的相应对象的对应属性Property
如:<BODY onload="window.defaultStatus='This is my page';return true">
这里,事件处理程序句柄的名字是大小写不敏感的,这与HTML文本中对标记的属性名的松散要求是一致的。
~onload 在网页完全加载完后执行,而onUnLoad在网页退出之前执行。

JavaScript程序的注意事项:
1.最好把源码写进HTML文件头里,<title>及</head>之间是合适的地方
2.JavaScript程序要用<script>,language这个限定参数也是必要的。再用</script>把程序关闭。
3.提示开始标记:<!--。最后得用结束标记://-->来关闭提示。(在支持Javascript的浏览器中会自动忽略此标记,而在不支持Javascript的浏览器中,会把标记内的内容视为注释而忽略)
4.对所编程序加必要的注释。单行或多行注释加在/**/中间,单行注释在//号后面。

窗口对象:代表浏览器所打开的窗口,通常代表目前正在使用的窗口(Focus)。如果打开多个浏览器窗口时,可以用别名(Alias)来区别它们。如ex. operner,parent,self,window,top
窗口对象使用语法
1.Windows:浏览器对象模型(BOM)使JavaScript有能力与浏览器圣诞。现在浏览器几乎已经实现了Javascript交互性方面的相同方法和属性,因些常被认为是Bom的方法和属性。
所有浏览器都支持Window对象,它表示浏览器窗口。所有JavaScript全局对象,函数以及变量均自动成为window对象的成员。全局变量是window对象的属性,全局函数是window对象的方法。甚至于HTML Dom的document也是window对象的属性之一。
Window尺寸:有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条):对于Internet Explorer,Chrome,Filefox,Opera及Safari:window.innerHeight-浏览器窗口的内部高度,window.innerWidth-浏览器窗口的内部宽度。对于IE8、7、6、5:document.documentElement.cllientHeight/document.documentElement.clientWidth;或者:document.body.clientHeight/docuemnt.body.clientWidth
方法:
open(),close(),moveTo(),resizeTo(),confirm(""),prompt("",""),setTimeout('',),clearTimeout(定时器),setInterval('',),clearInterval(时间间隔器),resizeBy(,),scrollBy(,),scrollTo(,),find(),back(),fowward(),home(),stop(),print(),blur(),focus(),captureEvent(Evnet), enableExternalCapture(Event),disableExternalCapture() handleEvent(event),releaseEvent(event) ,releaseEvent(event),scroll(X坐标,Y坐标)
Window属性:status  statusbar  statusbar.visible  defaultstatus  location  locationbar  locationbar.visible  self  name  closed  frames  frames.length  length  document  history  innerHeight  innerWidth  menubar  menubar.visible  opener  outerHeight  outerWidth  pageXOffset  pageYOffset  parent  personalbar  personalbar.visible  scrollbar 

window.screen 对象包含有关用户屏幕的信息。
screen.availWidth - 可用的屏幕宽度
screen.availHeight - 可用的屏幕高度
window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。
location.hostname 返回 web 主机的域名
location.pathname 返回当前页面的路径和文件名
location.port 返回 web 主机的端口 (80 或 443)
location.protocol 返回所使用的 web 协议(http:// 或 https://)
location.href 属性返回当前页面的 URL。
location.pathname 属性返回 URL 的路径名。
location.assign() 方法加载新的文档。
window.history 对象包含浏览器的历史。
history.back() - 与在浏览器点击后退按钮相同
history.forward() - 与在浏览器中点击按钮向前相同
window.navigator 对象包含有关访问者浏览器的信息。
来自 navigator 对象的信息具有误导性,不应该被用于检测浏览器版本,这是因为:
navigator 数据可被浏览器使用者更改
浏览器无法报告晚于浏览器发布的新操作系统
如:<script>
txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
txt+= "<p>Browser Name: " + navigator.appName + "</p>";
txt+= "<p>Browser Version: " + navigator.appVersion + "</p>";
txt+= "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
txt+= "<p>Platform: " + navigator.platform + "</p>";
txt+= "<p>User-agent header: " + navigator.userAgent + "</p>";
txt+= "<p>User-agent language: " + navigator.systemLanguage + "</p>";
document.getElementById("example").innerHTML=txt;
</script>
由于不同的浏览器支持不同的对象,您可以使用对象来检测浏览器。例如,由于只有 Opera 支持属性 "window.opera",您可以据此识别出 Opera。

JavaScript 中三种消息框:警告框、确认框、提示框。
警告框经常用于确保用户可以得到某些信息。
当警告框出现后,用户需要点击确定按钮才能继续进行操作。
语法:
alert("文本")
确认框用于使用户可以验证或者接受某些信息。
当确认框出现后,用户需要点击确定或者取消按钮才能继续进行操作。
如果用户点击确认,那么返回值为 true。如果用户点击取消,那么返回值为 false。
语法:
confirm("文本")
提示框经常用于提示用户在进入页面前输入某个值。
当提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。
如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为 null。
语法:
prompt("文本","默认值")

JavaScript 计时:通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。
在 JavaScritp 中使用计时事件是很容易的,两个关键方法是:
var t=setTimeout("javascript语句",毫秒)setTimeout() 方法会返回某个值。在上面的语句中,值被储存在名为 t 的变量中。假如你希望取消这个 setTimeout(),你可以使用这个变量名来指定它。
setTimeout() 的第一个参数是含有 JavaScript 语句的字符串。这个语句可能诸如 "alert('5 seconds!')",或者对函数的调用,诸如 alertMsg()"。
未来的某时执行代码
clearTimeout(setTimeout_variable)
取消setTimeout()
如:var c=0
var t
function timedCount()
{
document.getElementById('txt').value=c
c=c+1
t=setTimeout("timedCount()",1000)
}

function stopCount()
{
c=0;
setTimeout("document.getElementById('txt').value=0",0);
clearTimeout(t);
}

JavaScript Cookies:cookie 用来识别用户。
<script type="text/javascript">
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}

function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : "; expires="+exdate.toGMTString())
}

function checkCookie()
{
username=getCookie('username')
if (username!=null && username!="")
  {alert('Welcome again '+username+'!')}
else
  {
  username=prompt('Please enter your name:',"")
  if (username!=null && username!="")
    {
    setCookie('username',username,365)
    }
  }
}
</script>

cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。
有关cookie的例子:
名字 cookie
当访问者首次访问页面时,他或她也许会填写他/她们的名字。名字会存储于 cookie 中。当访问者再次访问网站时,他们会收到类似 "Welcome John Doe!" 的欢迎词。而名字则是从 cookie 中取回的。
密码 cookie
当访问者首次访问页面时,他或她也许会填写他/她们的密码。密码也可被存储于 cookie 中。当他们再次访问网站时,密码就会从 cookie 中取回。
日期 cookie
当访问者首次访问你的网站时,当前的日期可存储于 cookie 中。当他们再次访问网站时,他们会收到类似这样的一条消息:"Your last visit was on Tuesday August 11, 2005!"。日期也是从 cookie 中取回的。

JavaScript 库 - jQuery、Prototype、MooTools。
JavaScript 高级程序设计(特别是对浏览器差异的复杂处理),通常很困难也很耗时。
为了应对这些调整,许多的 JavaScript (helper) 库应运而生。
这些 JavaScript 库常被称为 JavaScript 框架。
jQuery 是目前最受欢迎的 JavaScript 框架。
它使用 CSS 选择器来访问和操作网页上的 HTML 元素(DOM 对象)。
jQuery 同时提供 companion UI(用户界面)和插件。

Prototype 是一种库,提供用于执行常见 web 任务的简单 API。
API 是应用程序编程接口(Application Programming Interface)的缩写。它是包含属性和方法的库,用于操作 HTML DOM。
Prototype 通过提供类和继承,实现了对 JavaScript 的增强。

MooTools
MooTools 也是一个框架,提供了可使常见的 JavaScript 编程更为简单的 API。
MooTools 也含有一些轻量级的效果和动画函数。

其他框架
下面是其他一些在上面未涉及的框架:
YUI - Yahoo! User Interface Framework,涵盖大量函数的大型库,从简单的 JavaScript 功能到完整的 internet widget。
Ext JS - 可定制的 widget,用于构建富因特网应用程序(rich Internet applications)。
Dojo - 用于 DOM 操作、事件、widget 等的工具包。
script.aculo.us - 开源的 JavaScript 框架,针对可视效果和界面行为。
UIZE - Widget、AJAX、DOM、模板等等。
CDN - 内容分发网络
您总是希望网页可以尽可能地快。您希望页面的容量尽可能地小,同时您希望浏览器尽可能多地进行缓存。
如果许多不同的网站使用相同的 JavaScript 框架,那么把框架库存放在一个通用的位置供每个网页分享就变得很有意义了。
CDN (Content Delivery Network) 解决了这个问题。CDN 是包含可分享代码库的服务器网络。
Google 为一系列 JavaScript 库提供了免费的 CDN,包括:
jQuery
Prototype
MooTools
Dojo
Yahoo! YUI
如需在您的网页中使用 JavaScript 框架库,只需在 <script> 标签中引用该库即可:
引用 jQuery
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
使用框架

决定为网页使用 JavaScript 框架之前,首先对框架进行测试。
JavaScript 框架很容易进行测试。无需在计算机上安装它们,同时也没有安装程序。
通常只需从网页中引用一个库文件。

待续。。。
分享到:
评论

相关推荐

    JavaScript基础语法(ppt)

    JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)...

    JavaScript基础教程(pdf版)

    本教程旨在为初学者提供一个全面的JavaScript基础知识学习平台,帮助理解并掌握这种强大的脚本语言。 《JavaScript基础教程》首先会介绍JavaScript的历史背景和基本语法,包括变量、数据类型、操作符、流程控制...

    javascript基础语法总结.pdf

    这个资源是javaScript基础语法的总结,适合学完javascript基础语法的进行巩固、复习! 这...我是想免费给大家看的,这怎么还收费

    JavaScript基础知识例子

    总的来说,这个压缩包提供了一个全面的JavaScript基础知识教程,涵盖了数据类型、Object、内置对象和变量等核心概念,对于初学者或者需要巩固基础的开发者来说,是一份非常有价值的参考资料。通过学习这些内容,可以...

    JavaScript基础与案例开发详解/于坤, 周大庆编著

    《JavaScript基础与案例开发详解》根据JavaScript在各种类型的应用开发中(如B2B、B2C、C2C)的使用情况,有针对性地安排了丰富的案例,从基本的表格操作、表单操作,到构建浏览器端的富文本编辑器,再到实现像Windows...

    JavaScript基础知识总结

    JavaScript 基础教程 JavaScript 是一种广泛应用于网页和网络应用的轻量级编程语言,它主要用于增强网页的交互性和动态功能。JavaScript 能够直接嵌入 HTML 页面中,为设计师提供了一种无需深入编程就能实现动态...

    JavaScript基础与案例开发详解

    资源名称:Javascript基础与案例开发详解内容简介:《Java script基础与案例开发详解》根据Javascript在各种类型的应用开发中(如B2B、B2C、C2C)的使用情况,有针对性地安排了丰富的案例,从基本的...

    JavaScript基础与实践教程

    二、JavaScript基础语法 1. 变量:JavaScript中的变量使用var、let或const关键字声明。var适用于全局或函数作用域,let和const则属于块级作用域。const声明的变量不可重新赋值,但其引用的对象属性仍可修改。 2. ...

    javascript基础教程 从入门到精通

    javascript 基础 教程 入门 精通 javascript 基础 教程 入门 精通 javascript 基础 教程 入门 精通 javascript 基础 教程 入门 精通 javascript 基础 教程 入门 精通 javascript 基础 教程 入门 精通 javascript ...

    Javascript基础.xmind

    JavaScript基础三天总结

    JAVASCRIPT基础手册.rar

    本“JavaScript基础手册”旨在帮助初学者全面掌握JavaScript的核心概念和技术。 JavaScript语法基于ECMAScript规范,它包括变量、数据类型(如字符串、数字、布尔值、null、undefined、对象和数组)、运算符(算术...

    Javascript基础教程版

    这个"Javascript基础教程版"涵盖了JavaScript的核心概念,旨在为初学者提供一个清晰的学习路径。 在JavaScript的基础教程中,你将首先了解它的历史背景和应用领域,然后深入到语法层面。JavaScript语法基于...

    JavaScript基础大全 (1-4) 学习必备珍藏品

    这个名为"JavaScript基础大全 (1-4) 学习必备珍藏品"的资源显然是一个系列教程,包含了从初级到进阶的JavaScript基础知识。让我们深入探讨一下JavaScript的核心概念和技术。 1. **基础语法**:JavaScript是一种...

    javascript基础视频80集11

    本资源“javascript基础视频80集11”包含了80个视频教程,覆盖了JavaScript的基础概念到高级特性,适合初学者进行系统学习。 在JavaScript的基础阶段,通常会涉及以下知识点: 1. **变量与数据类型**:JavaScript...

    javascript基础视频80集8

    本套“JavaScript基础视频80集8”将深入浅出地介绍这一语言的基础知识,帮助初学者建立坚实的编程基础。 视频内容可能涵盖以下几个方面: 1. **变量与数据类型**:JavaScript支持多种数据类型,包括基本类型(如...

    JavaScript基础与实例教程

    本教程“JavaScript基础与实例教程”由中国电力出版社出版,旨在为初学者和有经验的开发者提供一个深入理解JavaScript核心概念和实践技巧的平台。 首先,JavaScript的核心概念包括变量、数据类型和操作符。变量是...

    JavaScript基础教程(.PDF)

    这个“JavaScript基础教程”PDF文件是初学者掌握JavaScript语法和概念的理想资源。下面,我们将深入探讨JavaScript的核心知识,包括变量、数据类型、控制流、函数、对象、数组、DOM操作以及事件处理等。 1. **变量...

    javaScript基础版与源码大全

    在这个"JavaScript基础教程"中,我们将深入探讨JavaScript的核心概念和常见用法。 1. **基础语法** JavaScript的基础包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔值、null、undefined、对象...

Global site tag (gtag.js) - Google Analytics