It's not who you are underneath, it's what you do that defines you

Brick walls are there for a reason :they let us prove how badly we want things

JavaScript入门

概述:

  JavaScirpt是一种脚本语言,是一种直译试脚本语言,是一种基于对象的脚本语言,是一种动态类型,弱类型,基于原型的语言,主要用于网页编程

一、什么是JavaScript:

  JavaScript是一种属于网络的脚本语言,已经被广泛的用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是嵌入在HTML中来实现自身的功能的。

二、JavaScript的优势

  1、动态写入HTML输出

    使用这个方法可以动态的在页面中添加新的元素

    实例:动态在网页输出当前日期时间

  JavaScript代码:

document.write("<p><b>时间:<b><font color='red'>" + new Date().toLocaleString() + "</font></p>");

  2、对事件作出反应

    使用事件让页面与用户有更好的交互性,根据用户的操作做出不同的响应。

    实例:单击网页中的按钮时,弹出提示对话框

  HMTL代码:

<button type="button"onclick="alert('你好')">点击这里</button>

  3、改变HTML内容

    使用JavaScript来处理HTML内容是非常强大的功能。

    实例:根据页面中的HTML元素的id名,获取页面元素并改变该元素的内容

  HTML代码:

    <div id="demo">你还没有权限查看内容</div>
    <input id="btn" type="button" value="先睹为快" />

  JavaScript代码:

document.getElementById("btn").onclick = function () {
    var ss = document.getElementById("demo");//查找元素
    ss.innerHTML = "正在建设中ing.....";//改变内容
}

  4、改变HTML图像(标签属性)

    用户可以根据需要选择不同的图像,常用于图片动态切换中

  HTML代码:

    <img id="image" src="img1.png" />
    <input id="btn1" type="button" value="下一张"/>

  JavaScript代码:

document.getElementById("btn1").onclick = function () {
    var ele = document.getElementById("image");//查找元素
    ele.src = "img1.png";//改变引用的图片文件
    this.disabled = true;//禁用按钮
}

  5、改变HTML样式

    常用于改变HTML元素的样式,曾强用户体验

  实例:当鼠标移动到当前行时,高亮度显示

  HTML代码:

    <ul>
        <li class="list">测试1</li>
        <li class="list">测试2</li>
        <li class="list">测试3</li>
        <li class="list">测试4</li>
    </ul>

  JavaScript代码:

    var rows = document.getElementsByClassName("list");
    for (i = 0; i < rows.length; i++) {
        rows[i].onmouseover = function () { this.style.backgroundColor = 'gray'; }
        rows[i].onmouseout = function () { this.style.backgroundColor = 'white'; }
    }

  6、验证输入

    JavaScript常用于验证用户的输入

  示例:当用户输入手机号并离开次对话框判断是否是有效的电话号码

  HTML代码:

<input id="phoneNumber" onblur="" type="text" />

  JavaScript代码:

doucument.getElementById("phoneNumber").onblur = function () {
    var num = this.value;
    if(isNaN(num)||num.length!=11){alert("不是手机号码");}
}

 总之:JavaScript是客户端脚本语言,让页面羽用户更加有交互性,涉及动态效果,增加用户体验。

  

三、JavaScript实现基础

  JavaScript脚本如何来实现自己想要实现的效果?首先必须了解JavaScript的基础语法

    JavaScript脚本是基于对象的操作。可以分为是三部分  

      ECMAScript核心:为不同的宿主环境提供核心的脚本能力。

    ECMAScript规定了能适应于各种宿主环境的脚本核心语法规则,关于ECMAScript语言,ECMA-262描述如下:

      ECMAScript可以为不同种类的宿主环境提供核心的脚本编程能力,因此核心的脚本语言是与任何特定的宿主换件分开进行规定的

      ECMAScript仅仅是个人描述,定义了脚本语言所有的对象、属性和方法,其主要描述了以下内容

      £:语法

      £:数据类型

      £:关键字

      £:保留字

      £:运算符

      £:对象

      £:语句

      ECMAScript标准定义了JavaScript脚本中最为核心的内容,是JavaScript脚本的骨架,有了骨架,就可以在其上进行扩展,典型的扩展如DOM(文档对象模型)和BOM(浏览器对象模型)等。

    DOM(文档对象模型):规定了访问HTML和XML的应用程序接口。

    DOM定义了JavaScript可以进行操作的文档的各个功能部件的接口,提供访问文档各个功能部件(如:document、form、textarea等)的途径以及操作方法。

    示例:    

 <a  id="demo" href="#">显示当前日期时间</a>
    <span id="date"></span>
    <script>
        document.getElementById("demo").onclick = function () {
            //在id为"date"的页面元素中显示当前日期时间文本
            document.getElementById("date").innerText = new date.toLocaleString();
            //阻止默认浏览器动作(W3C)
            if (e && e.preventDefault) {
                e.preventDefault();
            } else {
                //IE中阻止函数器默认动作的方式
                window.event.returnValue = false;
            }
            return false;
        }
    </script>

 

    BOM(浏览器对象模型):提供了独立于内容而在浏览器窗口之间进行交互的对象和方法。

    BOM定义了JavaScript可以进行操作的浏览器的个个功能部件的接口,提供访问文档的各个功能部件(如窗口本身、屏幕功能部件、浏览历史记录等)的途径以及操作方法。

    通常情况下浏览器特定的JavaScript扩展都被看做BOM的一部分,主要包括:

    £:关闭、移动浏览器及调整浏览器窗口的大小;

        £:弹出新的浏览器窗口;

    £:提供浏览器的详细信息的定位对象;

    £:提供载入到浏览器窗口的文档详细信息的定位对象;

    £:提供用户屏幕分辨率详细信息的屏幕对象;

    £:提供cookie的支持;

        £:加入ActiveXObject类扩展BOM,通过JavaScript实例化ActionX对象;

BOM有一些事实上的标准,如窗口对象、导航对象等,但每种浏览器都为这些对象定义或扩展属性及方法。

  实例:

 

<a href="JavaScript:window.close();">关闭窗口</a>

 

posted @ 2018-02-05 19:49  Tick_Zhang  阅读(487)  评论(0编辑  收藏  举报

It's not who you are underneath, it's what you do that defines you

Brick walls are there for a reason :they let us prove how badly we want things