JavaScript

 

引用外部js :   <script src="2.js"type="text/javascript"></script>

Java是一门弱类型的语言;

变量的声明用var

全局变量:1.在方法外声明的变量;

2.在方法内声明,没有加var声明的变量

局部变量:在方法内部用var声明的变量

Javascript:void(0);用于超链接

数据类型:

1.   undefined未定义(声明变量,但未赋值)

2.   null 空

3.   boolean

4.   字符串string (单引号,双引号)

5.   数值 number

6.   对象object

1/0=NaN!=NaN

数据类型的转换:

布尔型↔字符串↔数字

*       true↔”true” ↔1

*       false↔”false” ↔0

数字↔字符串

*       1234↔”1234”

null ↔布尔型↔数字↔字符串

*       null↔false↔0↔”null”

undefined ↔布尔型↔数字↔字符串

*       undefined ↔false↔NaN↔” undefined ”

}        ===  等同符:不会发生类型的自动转化!

}        ==   等值符:会发生类型自动转化、自动匹配!

函数声明:  function 函数名(形参列表){函数体}
       var 函数名 = new Function(函数体;);

var 函数名 = function() {函数体;}

return 同Java;

函数属于对象

函数可以作为参数传递

事件机制:

作用

◦       1.验证用户输入窗体的数据。

◦       2.增加页面的动感效果。

window方法:

 
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>window方法</title>
    </head>
    <body>
        <input type="button" value="alert消息框" onclick="testAlert();" />
        <input type="button" value="confirm确认框" onclick="testConfrim();" />
        <input type="button" value="preompt询问框" onclick="testPrompt();" />
        <input type="button" id="" value="测试Open" onclick="testOpen();" />
    </body>
    <script>
        var bj=90909;
        function testAlert(){
            window.alert("其实'window.'可以省略");
        }
        function testConfrim(){
            var f =window.confirm("你真的要离我而去吗?");
            if(f){
                window.alert("你去死,我再也不想见到你....");
            }else{
                alert("你好讨厌....");
            }
        }
        function testPrompt(){
            var m=window.prompt("请输入你想输入的话!","默认不输")
        }
        function testOpen(){
            window.open("son.html", "wndowName", "height=300, width=500, top=200, left=400, toolbar=yes, menubar=no, scrollbars=no, resizable=no, location=no, status=yes");
        }
 </script>
</html>
 
 
操作元素节点

 
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <h3> 元素节点,直接获取
        <input type="button" value="直接获取" onclick="testGetDirect();" />
        </h3>
            <h3> 元素节点,间接获取
        <input type="button" value="间接获取" onclick="testGetInirect();" />
        </h3>
        <div id="showDiv">
            <input class="aaa" type="text" name="uname" id="uname" />
            <input type="password" name="pwd" id="pwd" />
            <input type="text" name="realname" id="realname" />
            <input type="text" name="email" id="email" />
            <input type="radio" name="gender" value="1" />
            <input type="radio" name="gender" value="2" />
        </div>
    </body>
    <script> 
        function testGetDirect() {
            //通过ID获取
            var uname = document.getElementById("uname");
            //通过标签的名字
            var inputs = document.getElementsByTagName("gender");
            //通过名字获取
            var names = document.getElementsByName("input");
            //通过类的名字获取
            var clazz = document.getElementsByClassName("abc");
            alert(clazz.length);
        }
    function testGetInirect(){
        //父子关系
        var parent = document.getElementById("showDiv");
        var children = parent.childNodes;
        //子父关系
        var child =document.getElementById("uname");
        var father = child.parentNode;
        //兄弟节点
        var sibling = document.getElementById("realname");
        var previous = sibling.previousSibling;
        var next = sibling.nextSibling;
        
        var pm = sibling.previousElementSibling;
        var nm = sibling.nextElementSibling;
    }
    </script>
</html>
 
 
<!DOCTYPE html>
<html>
 
    <head>
        <meta charset="UTF-8">
        <title>操作元素节点</title>
    </head>
 
    <body>
        <h3>属性
        <input type="button" value="testAttribtue" onclick="testAttribute();"  />
        </h3>
        <h3>文本
        <input type="button" value="testTest" onclick="testText();" />
        </h3>
        <h3>样式
        <input type="button" value="testCss" onclick="testCss();" />
        </h3>
        <h3>样式
        <input type="button" value="testNode" onclick="testNode();"
        </h3>
        <hr />
        <input type="text" id="uname" value="北京尚学堂" abb="1234563" />
        <div id="showDiv">北京北京北京北京北京北京</div>
        <div id="oper" class="divred">
            <input type="text" id="school" value="北京尚学堂" />
 
        </div>
    </body>
 
    <script>
        function testAttribute() {
            var uname = document.getElementById("uname");
            //          操作属性
            uname.value = "尚学堂";
            uname.type = "button";
            alert(uname.value + "-------------" + uname.type);
            //          操作属性
            alert(uname.getAttribute("type"));
            uname.setAttribute("type", "button");
            alert(uname.getAttribute("abb"));
            alert(uname.getAttribute("value"));
        }
 
        function testText() {
            var div = document.getElementById("showDiv");
            //操作文本
            div.innerHTML = "wlecom tobjbjbjbjbjbj";
            alert(div.innerHTML);
            div.innerHTML = "<h1 style='color:red;'>div.innerHTML</h1>";
        }
 
        function testCss() {
            var div = document.getElementById("showDiv");
            //操作类
            div.className = "divred";
            //操作具体样式
            div.style.height = "200px";
            div.style.width = "600px";
            div.style.backgroundColor = "gray";
            div.style.lineHeight = "200px";
            div.style.fontSize = "40px";
            div.style.textAlign = "center";
            div.style.fontFamily = "楷体";
        }
 
        function testNode() {
            var div = document.getElementById("oper");
            var school = document.getElementById("school");
            //创建节点
            var n = document.createElement("input");
            n.type = "button";
            n.value = "bjsxt" + Math.random();
            n.onclick = function() {
                //alert(this.value);
                this.parentNode().removeChild(this);
            };
            //添加节点
            //div.appendChild(n);
//          //插入节点
            //div.insertBefore(n, school);
//          //替换节点
//          div.replaceChild(n, school);
//          //删除节点
        //  div.removeChild(school);
        }
    </script>
</html>
 

javascript事件列表

事件

浏览器支持

解说

一般事件

onclick

IE3、N2

鼠标点击时触发此事件

ondblclick

IE4、N4

鼠标双击时触发此事件

onmousedown

IE4、N4

按下鼠标时触发此事件

onmouseup

IE4、N4

鼠标按下后松开鼠标时触发此事件

onmouseover

IE3、N2

当鼠标移动到某对象范围的上方时触发此事件

onmousemove

IE4、N4

鼠标移动时触发此事件

onmouseout

IE4、N3

当鼠标离开某对象范围时触发此事件

onkeypress

IE4、N4

当键盘上的某个键被按下并且释放时触发此事件.

onkeydown

IE4、N4

当键盘上某个按键被按下时触发此事件

onkeyup

IE4、N4

当键盘上某个按键被按放开时触发此事件

页面相关事件

onabort

IE4、N3

图片在下载时被用户中断

onbeforeunload

IE4、N

当前页面的内容将要被改变时触发此事件

onerror

IE4、N3

出现错误时触发此事件

onload

IE3、N2

页面内容完成时触发此事件

onmove

IE、N4

浏览器的窗口被移动时触发此事件

onresize

IE4、N4

当浏览器的窗口大小被改变时触发此事件

onscroll

IE4、N

浏览器的滚动条位置发生变化时触发此事件

onstop

IE5、N

浏览器的停止按钮被按下时触发此事件或者正在下载的文件被中断

onunload

IE3、N2

当前页面将被改变时触发此事件

表单相关事件

onblur

IE3、N2

当前元素失去焦点时触发此事件

onchange

IE3、N2

当前元素失去焦点并且元素的内容发生改变而触发此事件

onfocus

IE3 、N2

当某个元素获得焦点时触发此事件

onreset

IE4 、N3

当表单中RESET的属性被激发时触发此事件

onsubmit

IE3 、N2

一个表单被递交时触发此事件

滚动字幕事件

onbounce

IE4、N

在Marquee内的内容移动至Marquee显示范围之外时触发此事件

onfinish

IE4、N

当Marquee元素完成需要显示的内容后触发此事件

onstart

IE4、 N

当Marquee元素开始显示内容时触发此事件

编辑事件

onbeforecopy

IE5、N

当页面当前的被选择内容将要复制到浏览者系统的剪贴板前触发此事件

onbeforecut

IE5、 N

当页面中的一部分或者全部的内容将被移离当前页面[剪贴]并移动到浏览者的系统剪贴板时触发此事件

onbeforeeditfocus

IE5、N

当前元素将要进入编辑状态

onbeforepaste

IE5、 N

内容将要从浏览者的系统剪贴板传送[粘贴]到页面中时触发此事件

onbeforeupdate

IE5、 N

当浏览者粘贴系统剪贴板中的内容时通知目标对象

oncontextmenu

IE5、N

当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发的事件

oncopy

IE5、N

当页面当前的被选择内容被复制后触发此事件

oncut

IE5、N

当页面当前的被选择内容被剪切时触发此事件

ondrag

IE5、N

当某个对象被拖动时触发此事件 [活动事件]

ondragdrop

IE、N4

一个外部对象被鼠标拖进当前窗口或者帧

ondragend

IE5、N

当鼠标拖动结束时触发此事件,即鼠标的按钮被释放了

ondragenter

IE5、N

当对象被鼠标拖动的对象进入其容器范围内时触发此事件

ondragleave

IE5、N

当对象被鼠标拖动的对象离开其容器范围内时触发此事件

ondragover

IE5、N

当某被拖动的对象在另一对象容器范围内拖动时触发此事件

ondragstart

IE4、N

当某对象将被拖动时触发此事件

ondrop

IE5、N

在一个拖动过程中,释放鼠标键时触发此事件

onlosecapture

IE5、N

当元素失去鼠标移动所形成的选择焦点时触发此事件

onpaste

IE5、N

当内容被粘贴时触发此事件

onselect

IE4、N

当文本内容被选择时的事件

onselectstart

IE4、N

当文本内容选择将开始发生时触发的事件

数据绑定

onafterupdate

IE4、N

当数据完成由数据源到对象的传送时触发此事件

oncellchange

IE5、N

当数据来源发生变化时

ondataavailable

IE4、N

当数据接收完成时触发事件

ondatasetchanged

IE4、N

数据在数据源发生变化时触发的事件

ondatasetcomplete

IE4、N

当来子数据源的全部有效数据读取完毕时触发此事件

onerrorupdate

IE4、N

当使用onBeforeUpdate事件触发取消了数据传送时,代替onAfterUpdate事件

onrowenter

IE5、N

当前数据源的数据发生变化并且有新的有效数据时触发的事件

onrowexit

IE5、N

当前数据源的数据将要发生变化时触发的事件

onrowsdelete

IE5、N

当前数据记录将被删除时触发此事件

onrowsinserted

IE5、N

当前数据源将要插入新数据记录时触发此事件

外部事件

onafterprint

IE5、N

当文档被打印后触发此事件

onbeforeprint

IE5、N

当文档即将打印时触发此事件

onfilterchange

IE4、N

当某个对象的滤镜效果发生变化时触发的事件

onhelp

IE4、N

当浏览者按下F1或者浏览器的帮助选择时触发此事件

onpropertychange

IE5、N

当对象的属性之一发生变化时触发此事件

onreadystatechange

IE4、N

当对象的初始化属性值发生变化时触发此事件

待续.....

其它高级功能参见W3C: http://www.w3chtml.com/js/

JavaScript基础简要的更多相关文章

  1. JavaScript基础

    JavaScript基础 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处 ...

  2. 一步步学习javascript基础篇(0):开篇索引

    索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...

  3. 前端之JavaScript基础

    前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...

  4. 一步步学习javascript基础篇(3):Object、Function等引用类型

    我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...

  5. Javascript基础回顾 之(三) 面向对象

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  6. Javascript基础回顾 之(二) 作用域

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  7. Javascript基础回顾 之(一) 类型

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  8. JavaScript 基础回顾——对象

    JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...

  9. javascript基础01

    javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...

随机推荐

  1. Android开发——获取应用数据/缓存大小并清理缓存

    1. 获取应用数据/缓存大小 其中pm为实例化的PackageManager,因为需要遍历所有的已安装的应用.因此需要开启子线程进行处理. 还有需要注意的是,在Android4.2之前getPacka ...

  2. oracle中的权限管理

    connect resource权限 grant connect,resource to user; 执行上面的sql语句后用户包括的权限: CONNECT角色: --是授予最终用户的典型权利,最基本 ...

  3. HDU 3062 简单的2-SAT问题

    在2-SAT,最让我纠结的还是添加有向线段的函数了 void add_clause(int i,int a,int j,int b){    int m=2*i+a;    int n=2*j+b;  ...

  4. vscode 打开新文件覆盖窗口,始终显示一个窗口

    一直在使用vscode 编辑器,里面的扩展用的比较舒服,但是最近遇到一个小问题,一直也没有找好的解决办法,今天无意中把问题给解决了.具体如下 之前使用编辑器,可以同时打开多个文件,而且是多窗口展示的, ...

  5. dispatching(bzoj 2008)

    Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿.在这个帮派里,有一名忍者被称之为 Master.除了 Master以外,每名忍者都有且仅有一个上级. ...

  6. BZOJ1703: [Usaco2007 Mar]Ranking the Cows 奶牛排名

    n<=1000头牛各有一个未知值Ai,已知m<=10000条形如Ax>Ay的不等关系,求将整个序列排序的最少比较次数. Aa>Ab,Ab>Ac -------> A ...

  7. 谈谈APP架构选型:React Native还是HBuilder

    原文链接 导读:最近公司的一款新产品APP要进行研发,老大的意思想用H5来做混合APP以达到高效敏捷开发的目的.我自然就开始进行各种技术选型的调研,这里重点想说的是我最后挑选出的2款hybrid ap ...

  8. C. Day at the Beach---cf559

    http://codeforces.com/problemset/problem/599/C 题目大意: 有n个城堡的高度   让你最多分成几个块   每个块排过序之后 整体是按照升序来的 分析:   ...

  9. HDU 1041

    题意: 给原始序列1 给定变化规则是,对于原来的序列每一个0前边插入1,每个1前边插入0. 问原始序列经过n次变化之后有多少对相邻的0. 规律题: 从第二次开始 当第奇数次变化之后,数量变成原来数量的 ...

  10. MAC地址泛红攻击

    一.环境 IP地址: Windows10   IP:10.13.153.55 Windows7:   IP:192.168.83.130 Linux:       IP:192.168.83.129 ...