JavaScript总结之一

第一部JavaScript教程

!!!注意:省略号(。。。。。。)为不重要的或太过简单

Javascript组成部分=ECMAScript+BOM+DOM

BOM=Window+Navigator+Screen+History+Location

DOM=DOM核心+DOM CSS +DOM XML + HTML DOM

DOM:JavaScript将HTML页面解析为文档(就是通过document对象)

 

一、JS教程

。。。。。。。。。。。。。。。。。。。。。。

JavaScript 是属于网络的脚本语言!

JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。

JavaScript 是因特网上最流行的脚本语言。

JavaScript 很容易使用!你一定会喜欢它的!

二、JS HTML DOM

2.1、DOM简介

通过 HTML DOM,可访问 JavaScriptHTML 文档的所有元素。

 

HTML DOM (文档对象模型)

当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。

HTML DOM 模型被构造为对象的树。

 

HTML DOM 

通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML

JavaScript 能够改变页面中的所有 HTML 元素

JavaScript 能够改变页面中的所有 HTML 属性

JavaScript 能够改变页面中的所有 CSS 样式 

JavaScript 能够对页面中的所有事件做出反应

2.2、DOMHTML

HTML DOM 允许 JavaScript 改变 HTML 元素的内容。

2.2.1、改变HTML输出流

JavaScript 能够创建动态的 HTML 内容:

今天的日期是:Thu Aug 27 16:34:53 2015

 JavaScript 中,document.write() 可用于直接向 HTML 输出流写内容。

eg

<script>

        document.write(Date());

</script>

提示:绝不要使用在文档加载之后使用 document.write()。这会覆盖该文档。就是在页面一加载完才执行

2.2.2、改变HTML内容

修改 HTML 内容的最简单的方法时使用innerHTML 属性。

eg

<body>

        <h1 id="header">Old Header</h1>

        <script>

var element= document.getElementById("header");

element.innerHTML = "New Header";

        </script>

</body>

例子解释:

  • 上面的 HTML 文档含有 id="header" 的 <h1> 元素
  • 我们使用 HTML DOM 来获得 id="header" 的元素
  • JavaScript 更改此元素的内容 (innerHTML)
2.2.3、改变HTML属性

如需改变 HTML 元素的属性,请使用这个语法:

document.getElementById(id).attribute=new value

 

eg

<body>

        <img id="image" src="smiley.gif">

        <script>

document.getElementById("image").src = "landscape.jpg";

        </script>

</body>

例子解释:

  • 上面的 HTML 文档含有 id="image" 的 <img> 元素
  • 我们使用 HTML DOM 来获得 id="image" 的元素
  • JavaScript 更改此元素的属性(把 "smiley.gif" 改为 "landscape.jpg")

DOM HTML总结:document.write();innerHTML;src;获得element后直接.点属性值修改

2.3、DOMCSS--参考HTMLDOM Style 对象参考手册

HTML DOM 允许 JavaScript 改变 HTML 元素的样式。

如需改变 HTML 元素的样式,请使用这个语法:

document.getElementById(id).style.property=newstyle

eg1:

<body>

        <p id="p2">

           Hello World!

        </p>

        <script>

document.getElementById("p2").style.color = "blue";

        </script>

    </body>

eg2:

显示与隐藏

<body>

<p id="p1">

        这是一段文本。

</p>

<input type="button" value="隐藏文本" onclick="document.getElementById('p1').style.visibility='hidden'"/>

    <input type="button" value="显示文本" onclick="document.getElementById('p1').style.visibility='visible'"/>

</body>

 

总结:更多详情请参考HTML DOM Style对象

Style对象代表一个单独的样式声明。可从应用样式的文档或元素访问Style对象。

 

2.4、DOM事件--参考HTML DOM Event 对象参考手册

HTML DOM 使 JavaScript 有能力对 HTML 事件做出反应。

2.4.1、对事件做出反映

eg

当点击文字时,发生改变

<h1 onclick="this.innerHTML='谢谢!'">请点击该文本</h1>

还可以这样:

Eg2

<script>

        function changetext(thiss){

thiss.innerHTML = "谢谢!";

        }

    </script>

</head>

<body>

        <h1 onclick="changetext(this)">请点击该文本</h1>

    </body>

2.4.1、HTML事件属性,来分配事件

如需向 HTML 元素分配 事件,您可以使用事件属性

实例

 button 元素分配 onclick 事件:

<buttonοnclick="displayDate()">点击这里</button>

2.4.2、使用HTML DOM 来分配事件

HTML DOM 允许您通过使用 JavaScript 来向 HTML 元素分配事件:

Eg:

<body>

        <p>

            点击按钮就可以执行<em>displayDate()</em>函数。

        </p>

        <button id="myBtn"> 点击这里</button>

        <script>

document.getElementById("myBtn").onclick = function(){

                displayDate()

};

function displayDate(){

document.getElementById("demo").innerHTML = Date();

}

        </script>

        <p id="demo"></p>

    </body>

2.4.4、onload和onunload 事件

onload  onunload 事件会在用户进入或离开页面时被触发。

onload 事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。

onload  onunload 事件可用于处理 cookie

eg

<body onload="checkCookies()">

        <script>

function checkCookies(){

if (navigator.cookieEnabled == true) {

                   alert("已启用 cookie")

}

else {

                   alert("未启用 cookie")

}

}

        </script>

        <p>

            提示框会告诉你,浏览器是否已启用 cookie

        </p>

    </body>

2.4.5、onchange事件

onchange 事件常结合对输入字段的验证来使用。

下面是一个如何使用 onchange 的例子。当用户改变输入字段的内容时,会调用 upperCase() 函数。

eg

<script>

        function myFunction(){

var x= document.getElementById("fname");

x.value = x.value.toUpperCase();

        }

    </script>

</head>

<body>

        输入英文字符:

<input type="text"id="fname"onchange="myFunction()">

        <p>

            当您离开输入字段时,会触发将输入文本转换为大写的函数。

        </p>

    </body>

2.4.6、onmouseover和onmouseout事件

onmouseover  onmouseout 事件可用于在用户的鼠标移至 HTML 元素上方或移出元素时触发函数。

 

2.4.7、onmousedown、onmouseup以及onclick事件

onmousedown,onmouseup 以及 onclick 构成了鼠标点击事件的所有部分。首先当点击鼠标按钮时,会触发 onmousedown 事件,当释放鼠标按钮时,会触发 onmouseup 事件,最后,当完成鼠标点击时,会触发 onclick 事件。

总结:如需所有 HTML DOM 事件的完整列表,请参阅 W3School 提供的 HTML DOM Event 对象参考手册

2.5、DOM 节点—参考HTML DOM教程

2.5.1、创建新的HTML元素

如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素。

eg

<body>

        <div id="div1">

            <p id="p1">这是一个段落。</p>

            <p id="p2">这是另一个段落。</p>

        </div>

        <script>

var para= document.createElement("p");

var node= document.createTextNode("这是新段落。");

para.appendChild(node);

var element= document.getElementById("div1");

element.appendChild(para);

        </script>

    Jquery直接实现:

$("#div1").append("<p id='p1'>这是新段落。 </p>");

</body>

 

代码详解:

2.5.2、删除已有的HTML元素

如需删除 HTML 元素,您必须首先获得该元素的父元素

eg

<div id="div1">

        <p id="p1">这是一个段落。</p>

        <p id="p2">这是另一个段落。</p>

</div>

<script>

        var parent = document.getElementById("div1");

        var child = document.getElementById("p1");

       parent.removeChild(child);

    </script>

注意:一定要用父元素删除子元素。如果找不到父元素,可以使用parentNode找到父元素在删除。如:

       varchild = document.getElementById("p2");

       document.getElementById("p2").parentNode.removeChild(child);

 

 

 

如果您希望学到更多有关使用 JavaScript 访问 HTMLDOM 的知识,请访问我们完整的 HTML DOM 教程

 

HTML DOM 教程---主要内容:

在我们的 JavaScript 教程的 HTML DOM 部分,您已经学到了:

  • 如何改变 HTML 元素的内容 (innerHTML)
  • 如何改变 HTML 元素的样式 (CSS)
  • 如何对 HTML DOM 事件作出反应
  • 如何添加或删除 HTML 元素

三、JS对象---参考《js参考手册--js对象》

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。省略了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

Js对象包括

 

js对象、

 

js数字、

 

js字符串、

 

js日期、

 

js数组、

 

js逻辑、

 

js算数、

 

js正则表达式

 

四、JS Window

浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器对话

 

浏览器对象模型 (BOM)

浏览器对象模型(Browser Object Model)尚无正式标准。

由于现代浏览器已经(几乎)实现了 JavaScript 交互性方面的相同方法和属性,因此常被认为是 BOM 的方法和属性

4.1、JSWindow

4.1.1、Window 对象

所有浏览器都支持window 对象。它表示浏览器窗口。

所有 JavaScript 全局对象全局函数以及全局变量均自动成为 window 对象的成员。

全局变量 window 对象的属性。

全局函数 window 对象的方法。

甚至 HTML DOM  document 也是 window 对象的属性之一:

window.document.getElementById("header");

与此相同:

document.getElementById("header");

4.1.2、Window 尺寸

有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)。

对于Internet Explorer、Chrome、Firefox、Opera 以及 Safari

  • window.innerHeight - 浏览器窗口的内部高度
  • window.innerWidth - 浏览器窗口的内部宽度

对于 Internet Explorer 8、7、6、5:

  • document.documentElement.clientHeight
  • document.documentElement.clientWidth

或者

  • document.body.clientHeight
  • document.body.clientWidth

实用的 JavaScript 方案(涵盖所有浏览器):

   宽度

var w = window.innerWidth ||

document.documentElement.clientWidth ||

document.body.clientWidth;

    高度           

var h = window.innerHeight ||

document.documentElement.clientHeight ||

document.body.clientHeight;

 

4.1.3、其他 Window 方法

一些其他方法:

  • window.open() - 打开新窗口
  • window.close() - 关闭当前窗口
  • window.moveTo() - 移动当前窗口
  • window.resizeTo() - 调整当前窗口的尺寸

 

4.2、JSScreen 。。。。。

window.screen 对象包含有关用户屏幕的信息。

window.screen 对象在编写时可以不使用 window 这个前缀。

一些属性:

  • screen.availWidth - 可用的屏幕宽度
  • screen.availHeight - 可用的屏幕高度

4.3、JSLocation 。。。。。

window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。

 

4.4JS History 。。。。。

4.5JS Navigator 。。。。。

4.6JS PopupAlert 。。。。。

4.7JS Timing 。。。。。

4.3JS Cookies 。。。。。

 

五、JS库

JavaScript  - jQueryPrototypeMooTools

 

所有这些框架都提供针对常见 JavaScript 任务的函数,包括动画、DOM 操作以及 Ajax 处理。

 

六、JS 实例和测验

6.1、JS实例

基础 JavaScript 实例

JavaScript 语句、注释和代码块

JavaScript 变量

JavaScript 条件语句 If ... Else

JavaScript 消息框

JavaScript 函数

JavaScript 循环

JavaScript 错误处理

高级 JavaScript 实例

6.2、JS对象实例

JavaScript String(字符串)对象 实例----参阅:JavaScript String 对象参考手册

JavaScript Date(日期)对象 实例----参阅:JavaScript Date 对象参考手册

JavaScript Array(数组)实例----参阅:JavaScript Array 对象的参考手册

JavaScript Boolean(布尔)对象 实例---参阅:JavaScript Boolean 对象的参考手册

JavaScript Math(算数对象)实例------参阅:JavaScript Math 对象的参考手册

七、JS参考手册

7.1、JavaScript对象--另起篇幅-----见JavaScript 参考手册-

7.2、HTMLDOM对象--另起篇幅-----

八、JS课外书

8.1、JS高级教程--另起篇幅------

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值