Javascript(四)

一、简介

JS 是弱类型,Java 是强类型。

特点:

1. 交互性(它可以做的就是信息的动态交互)Javascript 语言诞生主要是完成页面的数据验证。因此它一开始运行在客户端,需要运行浏览器来解析执行 JavaScript 代码。

2. 安全性(不允许直接访问本地硬盘)

3. 跨平台性(只要是可以解释 JS 的浏览器都可以执行,和平台无关)

二、JavaScript运用在网页中的三种方法

1.只需要在 head 标签中,或者在 body 标签中, 使用 script 标签 来书写 JavaScript 代码

<script type="text/javascript">

// alert 是 JavaScript 语言提供的一个警告框函数。

// 它可以接收任意类型的参数,这个参数就是警告框的提示信息

alert("hello javaScript!");

</script>

2.

使用 script 引入外部的 js 文件来执行

src 属性专门用来引入 js 文件路径(可以是相对路径,也可以是绝对路径)

script 标签可以用来定义 js 代码,也可以用来引入 js 文件

<script type="text/javascript" src="1.js"></script>

三、变量和运算符

1.JavaScript 的变量类型:

数值类型:number (short、int、long、double、float等都归结为number)

字符串类型:string

对象类型:object

布尔类型:boolean

函数类型:function

JS 中的定义变量格式:

var 变量名;

var 变量名 = 值;


2.JavaScript 里特殊的值:

undefined 未定义,所有 js 变量未赋于初始值的时候,默认值都是 undefined.

null 空值

NaN 全称是:Not a Number。非数字。非数值。


3.关系运算符

等于: ==   等于是简单的做字面值的比较

全等于:===  除了做字面值的比较之外,还会比较两个变量的数据类型

例如:12 == ‘12’  true 但是 === 是false


4.逻辑运算

且运算: &&

或运算:||

取反运算: !

在 JavaScript 语言中,所有的变量,都可以做为一个 boolean 类型的变量去使用。

0 、null、 undefined、””(空串) 都认为是 false;

/*

&& 且运算。

有两种情况:

第一种:当表达式全为真的时候。返回最后一个表达式的值。

第二种:当表达式中,有一个为假的时候。返回第一个为假的表达式的值

|| 或运算

第一种情况:当表达式全为假时,返回最后一个表达式的值

第二种情况:只要有一个表达式为真。就会把回第一个为真的表达式的值

并且 && 与运算 和 ||或运算 有短路。

短路就是说,当这个&&或||运算有结果了之后 。后面的表达式不再执行

*/


5.数组:会自动扩容

JS 中 数组的定义:

格式:

var 数组名 = []; // 空数组

var 数组名 = [1 , ’abc’ , true];

// 定义数组同时赋值元素


四、函数

js中的函数不可以重载,有两种定义方式:

1.function 函数名(形参列表){

函数体

}

不需要定义返回值,直接return就行

2. var 函数名 = function(形参列表) { 函数体 }


函数的 arguments 隐形参数(只在 function 函数内)

就是在 function 函数中不需要定义,但却可以直接用来获取所有参数的变量。我们管它叫隐形参数。

隐形参数特别像 java 基础的可变长参数一样。

public void fun( Object ... args );

可变长参数其他是一个数组。

那么 js 中的隐形参数也跟 java 的可变长参数一样。操作类似数组。

五、自定义对象

对象的定义两种方式:

1.var 变量名 = new Object();

// 对象实例(空对象)

变量名.属性名 = 值;

// 定义一个属性

变量名.函数名 = function(){} // 定义一个函数


2.

var 变量名 = {

// 空对象

属性名:值,

// 定义一个属性

属性名:值,

// 定义一个属性

函数名:function(){}

// 定义一个函数

};


对象的访问:

变量名.属性 / 函数名();


六、JS常用事件

onload 加载完成事件:window.onload = function () {}

页面加载完成之后,常用于做页面 js 代码初始化操作

onclick 单击事件:

常用于按钮的点击响应操作。

onblur 失去焦点事件:

常用用于输入框失去焦点后验证其输入内容是否合法。

onchange 内容发生改变事件:

常用于下拉列表和输入框内容发生改变后操作

onsubmit 表单提交事件:

常用于表单提交前,验证所有表单项是否合法。如果在里面return false可以阻止表单提交


静态注册事件:通过 html 标签的事件属性直接赋于事件响应后的代码,这种方式我们叫静态注册。

动态注册事件:是指先通过 js 代码得到标签的 dom 对象,然后再通过 dom 对象.事件名 = function(){} 这种形式赋于事件

响应后的代码,叫动态注册。

动态注册基本步骤:

1、获取标签对象

2、标签对象.事件名 = fucntion(){}


七、DOM模型

1.介绍DOM模型

DOM 全称是 Document Object Model 文档对象模型,就是把文档中的标签,属性,文本,转换成为对象来管理。因此,网页中有一个Document对象,它管理了HTML文档的所有内容,并且是一种树结构,有层级关系。而我们能够通过这个document访问多有标签对象。

一个DOM变成对象可能有

class Dom{

private String id;

// id 属性

private String tagName; //表示标签名

private Dom parentNode; //父亲

private List<Dom> children; // 孩子结点

private String innerHTML; // 起始标签和结束标签中间的内容

}


2.document对象的方法介绍:

document.getElementById(elementId)

通过标签的 id 属性查找标签 dom 对象,elementId 是标签的 id 属性值,只返回一个,就是找到的第一个符合id的标签的dom对象

document.getElementsByName(elementName)

通过标签的 name 属性查找标签 dom 对象,elementName 标签的 name 属性值,返回一个数组

document.getElementsByTagName(tagname)

通过标签名查找标签 dom 对象。tagname 是标签名,返回一个数组,顺序是html页面从上到下

以上三个方法,一定要在页面加载完成之后执行,才能查询到标签对象

document.createElement( tagName)

方法,通过给定的标签名,创建一个标签对象。tagName 是要创建的标签名


3.节点的常用属性和方法

方法:

getElementsByTagName() 获取当前节点的指定标签名孩子节点

appendChild( oChildNode )可以添加一个子节点,oChildNode是要添加的孩子节点


属性:

childNodes

属性,获取当前节点的所有子节点

firstChild

属性,获取当前节点的第一个子节点

lastChild

属性,获取当前节点的最后一个子节点

parentNode

属性,获取当前节点的父节点

nextSibling

属性,获取当前节点的下一个节点

previousSibling

属性,获取当前节点的上一个节点

className

用于获取或设置标签的 class 属性值

innerHTML

属性,表示获取/设置起始标签和结束标签中的内容

innerText

属性,表示获取/设置起始标签和结束标签中的文本

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容