JS基础语法&JS事件

2.10.内置对象

Arguments 只在函数内部定义,保存了函数的实参
Array 数组对象
Date 日期对象,用来创建和获取日期
Math 数学对象
String 字符串对象,提供对字符串的一系列操作

2.10.1.String

charAt(idx) 返回指定位置处的字符
indexOf(Chr) 返回指定子字符串的位置,从左到右。找不到返回-1
substr(m,n) 返回给定字符串中从m位置开始,取n个字符,如果参数n省略,则意味着取到字符串末尾。                                                                                                                      substring(m,n) 返回给定字符串中从m位置开始,到n位置结束,如果参数n省略,则意味着取到字符串末尾。                                                                                                                          toLowerCase() 将字符串中的字符全部转化成小写。
toUpperCase() 将字符串中的字符全部转化成大写。
length 属性,不是方法,返回字符串的长度。

2.10.2.Math

Math.random( ) 随机数
Math.ceil() 向上取整,大于最大整数
Math.floor() 向小取整,小于最小整数String

2.10.3.Date

// 获取日期
getFullYear() 年
getMonth() 月
getDate() 日
getHours() 时
getMinutes() 分
getSeconds() 秒
// 设置日期
setYear()
setMonth()
setDate()
setHours()
setMinutes()
setSeconds( )
toLoacaleString()转换成本地时间字符串

 说明:
getMonth():得到的值:0~11(1月~12月)
setMonth():设置值时0~11
toLocaleString():可根据本地时间把Date对象转换为字符串,并返回结果。

2.11.对象

    对象(object)是JavaScript的核心概念,也是最重要的数据类型。JavaScript的所有数据都可以被视为对象。 

JavaScript提供多个内建对象,比如 String、Date、Array等等。对象是带有属性和方法的特殊数据类型。

    简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。通过JavaScript我们可以创建自己的对象。JavaScript对象满足的这种”键值对"的格式我们称为JSON格式,以后会见得非常多,即伟大的JSON对象。 

{
    键:值;
    键2:值2;
    ...

}

2.11.1.对象的创建

对象的创建:

1.字面量形式创建

var 对象名 = {};//空对象
var 对象名 = {
    键:值;
    键:值;
    ...

}

2.通过new Object创建

var 对象名 = new Object();//空对象

3.通过Object对象的create方法创建

var 对象名 = Object.create(null);//空对象
var 对象名 = Object.create(对象);

2.11.2.对象的操作: 

获取对象的属性(如果属性不存在,则获取null):对象名.属性名

设置对象属性:对象名.属性名 = 值;(如果属性存在则修改属性值,如果属性不存在则添加属性值。)

2.11.3.对象的序列化和反序列化

    序列化,即将JS对象(JSON对象)转换成JSON字符串;反序列化,即将JSON字符串转换成JS对象(JSON对象)。JS中通过调用JSON方法,可以将对象序列化成字符串,也可以将字符串反序列化成对象。

//1 序列化对象,将对象转为字符串
JSON stringify(对象);
// 反序列化,将一个Json字符串转换为对象。
JSON.parse(JSON字符串);

2.11.4.this

    this是JavaScript语言的一个关键字。

 
    它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。


    随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。


1.直接调用函数,this代表的全局的window对象

2.调用对象中的函数,this代表的是对象本身

3.JS事件

3.1.事件

    事件(Event)是JavaScript应用跳动的心脏,进行交互,使网页动起来。当我们与浏览器中Web页面进行某些类型的交互时,事件就发生了。事件可能是用户在某些内容上的点击、鼠标经过某个特定元素或按下键盘上的某些按键。事件还可能是Web浏览器中发生的事情,比如说某个Web页面加载完成,或者是用户滚动窗口或改变窗口大小。 

    通过使用JavaScript,你可以监听特定事件的发生,并规定让某些事件发生以对这些事件做出响应。 

3.2.作用

(1)验证用户输入的数据。
(2)增加页面的动感效果。
(3)增强用户的体验度

3.3.事件中的几个名词

事件源:给什么元素/标签绑定事件
事件名:绑定什么事件
事件监听:浏览窗口
事件处理:事件触发后执行什么代码

例如
闯红灯 事件源:车; 事件名:闯红灯; 监听:摄像头、交警; 处理:扣分罚款
单击按钮 事件源:按钮; 事件名:单击; 监听:窗口; 处理:执行函数

    当我们用户在页面中进行的点击动作,鼠标移动的动作,网页页面加载完成的动作等,都可以称之为事件名称,即:click、mousemove、load等都是事件名称,具体的执行代码处理,响应某个事件的函数。

<body onload="loadWindow();"></body>
<script>
    function loadWindow()(
        alert("加载窗体”);
) I
</script>

 onload事件:当文档(HTML页面)加载完毕后执行

onclick事件:单击事件(点击事件)

3.4.事件类型

JavaScript可以处理的事件类型为:鼠标事件、键盘事件、HTML事件。
http://www.w3school.com.cn/tags/html_ref_eventattributes.asp 用+查
Window事件属性:针对window对象触发的事件(应用到<body>标签)
Form事件:由 HTML表单内的动作触发的事件(应用到几乎所有HTML元素,但最常用在form元素中)Keyboard事件:键盘事件
Mouse事件:由鼠标或类似用户动作触发的事件

Media事件:由媒介(比如视频、图像和音频)触发的事件(适用于所有HTML元素,但常见于媒介元素中,比如<audio>、<embed>、<img>、<object>以及<video>)
几个常用的事件:
onclick、onblur、onfocus、onload、onchange
onmouseover、onmouseout、onkeyup、onkeydown

onload:当页面或图像加载完后立即触发
onblur:元素失去焦点
onfocus:元素获得焦点
onclick:鼠标点击某个对象
onchange:元素的值改变时发生的事件
onmouseover:鼠标移动到某个元素上
onmouseout:鼠标离开事件
onkeyup:某个键盘的键被松开
onkeydown:某个键盘的键被按下

3.5事件流和事件模型

    我们的事件最后都有一个特定的事件源,暂且将事件源看做是HTML的某个元素,那么当一个 HTML元素产生一个事件时,该事件会在元素节点与根节点之间按特定的顺序传播,路径所经过的节点都会受到该事件,这个传播过程称为DOM事件流。


    事件顺序有两种类型:事件捕获 和 事件冒泡。
    冒泡和捕获其实都是事件流的不同表现,这两者的产生是因为IE和Netscape两个大公司完全不同的事件流概念产生的。(事件流:是指页面接受事件的顺序)IE的事件流是事件冒泡,Netscape的事件流是事件捕获流

3.5.1.事件冒泡:事件开始时由最初的元素接收,然后逐级向上传播到较为不具体的节点(文档)

3.5.2.事件捕获:事件开始时由文档节点接收,然后逐级向下传播到具体的元素节点。

3.5.3.DOM事件流

    "DOM2级事件"规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段。首先发生的是事件捕获阶段,为截获事件提供了机会。然后是实际的目标接收到事件。最后一个阶段是冒泡阶段,可以在这个阶段对事件做出响应。

3.6.事件处理程序(事件绑定方式)

3.6.1.HTML事件处理程序:直接在HTML上绑定事件

3.6.2.DOM0级事件:先获取事件源,再给事件源绑定事件。不能同时给元素绑定相同事件多次

3.6.3.DOM2级事件:事件源.addEventListener("事件类型",执行函数, true);

注意:通过id属性值获取节点对象

document.getElementById("id属性值");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值