JavaScript高级篇之理论

一丶函数

1.函数的定义方式:

a) js中的关键字function定义:

function 方法名(参数列表) {方法体和返回值;},注意事项:返回值可根据需求给出,参数列表可以不给,调用时函数内置arguments数组用来存储参数列表

b) 匿名函数:function() {方法体和返回值;}

C) 通过Function对象定义函数(不常用):

new Function(“参数列表”,”方法体和返回值”);

2.函数的重载

a) Js中没有函数的重载,同名后面执行的函数会覆盖前面的函数

b) 模拟Java中的函数重载:

i. JavaScript中函数内置一个arguments的数组,用来存储参数列表

ii. 通过arguments的数组即可模拟函数的重载

iii. 代码:

function add() {
  var sum=0;
  for(var i=0;i<arguments.length;i++)            {
      Sum+=arguments[i];
  }
Return sum;
}
add(1,5,7);
add(8,6,7,2);

.JavaScript中的常用事件

a) onclick和onload事件

i. onclick鼠标点击事件 ,点击后就可触发,使其调用对应的函数

代码:

<body>
<input type=”text” id=”textId” οnclick=”stop();”/>
</body>
<script type=”text/javascript”>
funtion stop() {
 //点击输入框即显示123
 document.getElementById(“textId”).value=”123”;
}
</script>

ii. Onload页面加载完成后触发事件,调用对应函数

代码:

<body οnlοad="load();">
 </body>
<script type="text/javascript">
function load() {
  alert("页面加载完成");
}
</script>
b) Onmouseover()和onmouseout()事件
i. Onmouseover()鼠标悬浮事件

代码:

 <body>
<input type="text" id="textId" οnmοuseοver="over();" οnmοuseοut="out();">
 </body>
<script type="text/javascript">
function over() {
  document.getElementById("textId").value="把鼠标移到上面";
}
function out() {
  document.getElementById("textId").value="爱笑的人运气都不差";
}
</script>

c) Onkeypress事件

i. 键盘按压事件,点击键盘某个键时触发事件

代码:

 <body>
<input type="text" id="textId" οnkeypress="next(event);"/>
 </body>
<script type="text/javascript">
function next(obj) {
  if(obj.keyCode==13)
  alert("确定要继续么?");
}
</script>

d) Onblur和onfocus

i. Onblur元素失去焦点,onfocus获取焦点,焦点即鼠标光标

代码:

 <body>
<input type="text" id="textId" οnfοcus="focus1();" οnblur="blur1();"/>
 </body>
<script type="text/javascript">
function focus1() {
  document.getElementById("textId").value="获取焦点";
}
function blur1() {
  document.getElementById("textId").value="失去焦点";
}
</script>

.DOM对象

a) 简介

i. DOM是Document object model缩写,文档对象模型

ii. 使用DOM中的属性或函数可以对HTML标记型语言进行操作

iii. 想要对HTML进行操作,必须先对其解析

iv. 解析过程:根据HTML的层级结构,在内存中分配一个树形结构

v. DOM中的四大对象:Document,Element,Attribute,Text

b) Document对象

i. 定义:代表整个文档对象

ii. 主要方法:

1. Write(),在页面中输出内容,也可以输出HTML代码

2. getElementById();通过标签id获取标签对象,返回对象

3. getElementsByname();通过标签中属性名字值获取标签的对象,返回对象的数组

4. getElementsByTagName();通过标签名获取标签的对象,返回对象的数组

.innerTHML属性

a) 定义:是属于DOM中的属性,是获取HTML标签中的内容最简单的方法

b) 作用:获取HTML标签中的内容,对内容进行读,写操作

c) HTML标签读取功能:

代码:

 <body>
<div id="divid">你好</div>
 </body>
<script type="text/javascript">
  alert(document.getElementById("divid").innerHTML);
</script>

d) HTML标签写功能(注意:会覆盖原有值):

代码:

 <body>
<div id="divid">你好</div>
 </body>
<script type="text/javascript">
  alert(document.getElementById("divid").innerHTML="我很好");
</script>

.表单提交方式

a) HTML中写form中写对应的方式提交

i. Submit按钮提交,

1. form中创建一个onsubmit的事件

2. body标签中创建一个submit按钮,及一个输入用户名的标签

3. script中写一个方法实现用户名判断不能为空操作

4. 通过document中的getElementById()方法获取输入项的值

5. If语句判断值是否为空,空返回false,否则返回true

代码:

<body>
<form method="get" οnsubmit="return checkForm();">
<input type="text" name="username" id="usernameid"><br/>
<input type="submit" >
</form>
</body>
<script type="text/javascript">
function checkForm() {
  var un=document.getElementById("usernameid").value;
  if(un == ''){
     alert("用户名不能为空");
     return false;
  }else{
     return true;
  }
}
</script>


ii. Button按钮提交

1. form定义一个属性id

2. 定义输入username的标签,并且定义其id属性

3. 获取form标签的对象及username的值

4. 判断值是否为空,空则返回false并提升用户

5. 不为空,则提交,用submit()方法提交表单

代码:

<body>
<form method="get" id="formid">
<input type="text" name="userbname" id="textid"><br/>
<input type="button" value="提交表单" οnclick="fun();">
</form>
</body>
<script type="text/javascript">
function fun() {
  var username=document.getElementById("textid").value;
  var form=document.getElementById("formid");
  if(username == '') {
    alert("用户不能为空");
  }else{
    form.submit();
  }
}
</script>

.Json

1.json简介

a) Json是数据交换格式,比xml更加轻巧

b) Json的数据格式

i. Json的对象的格式:

写法 {json数据的名称1:json数据的值1,json数据的名称2:json数据的值2.....}

ii. Json的数组形式:

写法 [json对象1,json对象2........]

iii. 复杂形式:由前两种组合

2.js解析json

a) Js解析json的对象的数据格式:通过json对象数据格式里面的name的名称得到name对应的值

b) js解析json的数组的数据格式:根据数组的下标得到json对象,解析json对象,根据数据的名称得到值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值