JavaScript基础(二)
来源:互联网 发布:mac os stm8 编辑:程序博客网 时间:2024/06/05 19:21
window.setInterval("alert('a')",2000);//每个2秒执行一次alertwindow.setTimeout("alert('a')",3000);//3秒后执行alertnavigator.appNamenavigator.appVersionnavigator.appMinorVersion
JS之标签位置
<body> <input type="text" name="username" value="默认" id="usernameId"> </body> <script> var a = document.getElementById("usernameId").value; document.write(a); </script></html>`
js的函数、绑定时间、document对象、表单提交和验证、解析json
函数
创建函数的3种方式
方法一:
function add1(a,b){ alert(a+b);}//调用函数add1(1,2);
function add1(a,b){ alert(a+b);}//调用函数add1(1,2);
方法二:匿名函数
var result = function(a,b){ alert(a+b);}//调用函数result(1,2);
var add2=function(a,b){ alert(a+b);}//调用函数add2(2,3);
方法三:Function构造函数
var params = "a,b";var method = "var sum; sum=a+b;return sum";var result = new Function(params,method);//调用函数result(1,2);
var params = "a,b";var method = "var sum;sum=a+b;return sum;";var result = new Function(params,method);//调用函数alert(result(1,3));
js中函数是没有重载的
验证js中函数是没有重载的
<script> function add1(a,b){ alert(a+b); } function add1(a,b,c){ alert(a+b+c); } function add1(a,b,c,d){ alert(a+b+c+d); } add1(1,2);//Nan add1(1,2,3);//Nan add1(1,2,3,4);//10<script>
前2个值都是Nan,最后一个是10。
模拟java中函数的重载
js中调用函数,需要把参数传递过去,在函数中有一个数组arguments,是用来保存这些参数的,我们可以用arguments
模拟重载的效果。
function add2(){ var sum=0;//sum必须初始化 for(var i=0;i<arguments.length;i++){ sum = sum+arguments[i]; } alert(sum);}add2(1,2);add2(1,2,3);add2(1,2,3,4);
全局函数
|函数|说明|
|eval(str)|把string当做js代码来执行|
|encodeURI(str)|对String进行编码|
|decodeURI(var)|对编码后的字符串进行解码|
|isNaN(var a)|判断a的类型是不是number,或者可不可以转换成Number。是number,返回false;不是,返回true。。NAN:not 啊 number|
|parseInt(str)|把string解析成int|
var a="alert('Hello World')";eval(a);
var a=encodeURI("ABCD1234中华人民共和国");document.write(a);document.write(decodeURI(a));
var b = "3";var c = 3;var d = "abc";document.write(isNaN(b));//falsedocument.write(isNaN(c));//falsedocument.write(isNaN(d));//true
document.write(parseInt("3")+",");//3,,document.write(parseInt("3")+2+",");//5,document.write(parseInt("3")+2+"A");//5Adocument.write(parseInt("3")+"A"+2);3A2
js事件
HTML绑定js事件的3种方法
方法一: 直接在html中写onclick
<input type="button" id="btn1" value="btn1" onclick="method1();"/><script> function method1(){ alert("btn1"); }</script>
方法二: document.getElementById(“btn2”).事件属性=方法名称
<input type="text" id="btn2" value="text"/><script> document.getElementById("btn2").onclick=method2;</script>
方法三:document.getElementById(“btn2”).事件属性=function(){ 方法体}
<input type="button" id="btn3" value="bnt3"><script> document.getElementById("btn3").onclick=function(){ alert("btn3"); }</script>
js常用事件
常用事件:
onfocus onblur; onkeypress;onmouseover onmouseout; onsubmit
<input type="text" id="id1" name="username" value="" onfocus="onfocus1();" onblur="onblur1();"/><input type="text" id="id2" name="username" value="请单击键盘" onkeypress="keypress1(event);" /><input type="text" id="id3" name="username" onmouseover="mouseover1();" onmouseout="mouseout1()"><form onsubmit="submit1();">登录名:<input type="text" name="useername" value="" ><input type="submit"></form>
<script> function onfocus1(){ document.getElementById("id1").value=""; } function onblur1(){ document.getElementById("id1").value="focus"; } //A65 a97 enter:13 function keypress1(obj){ alert(obj.keyCode); } function mouseover1(){ document.getElementById("id3").value="over"; } function mouseout1(){ document.getElementById("id3").value="out" } function submit1(){ alert("submit"); //return false; }</script>
document对象
document代表整个文档,所我们可以获取到里面的任何对象。
常用的4个方法:
write();getElementById();//没加sgetElementsByName();//结果是数组,所以是加了sgetElementsByTagName();//结果是数组,所以是加了s
<html> </body> <input type="text" id="id1" name="username" value="value1"/><br/> <br/> <input type="text" name="username" value="value2"/><br/> <br/> <input type="text" name="username" value="value3"/><br/> <br/> <input type="button" value="getElementByName" onclick="method1();"> <input type="button" value="getElementByTagName" onclick="method2();"> </body> <script> function method1(){ var names=document.getElementsByName("username"); alert(names.length); for(var i=0;i<names.length;i++){ alert(names[i].value); } } function method2(){ var names=document.getElementsByTagName("input"); alert(names.length); for(var i=0;i<names.length;i++){ alert(names[i].value); } } </script></html>
innerHTML
innerHTML
有2个作用:
1. 获取标签里的内容
2. 给标签设置内容
<body> <div id="div1" style="width:300px;height:200px; border:solid red 2px;">你好,中国。</div> <br/> <input type="button" value="innerHTML插入值" onclick="insert();"> <br/> <input type="button" value="innerHTML取值" onclick="get();"></body>
<script> function insert(){ // "<table border='3'><tr><td>a</td><td>b</td></tr></table>" "Hello World" document.getElementById("div1").innerHTML="Hello World"; } function get(){ var a = document.getElementById("div1").innerHTML; alert(a); }</script>
表格
<body> 行:<input type="text" id="tr"/>列:<input type="text" id="td"/> <br/> <input type="button" value="动态生成表格" onclick="generate();"> </body><div id="div"/>
<script type="text/javascript"> //注意:<div></div>,标签的/放在前面,不是<div/>,下面放在<div/>会导致列之间有空格 function generate(){ var tr=document.getElementById("tr").value; var td=document.getElementById("td").value; var table="<table border='1'>"; for(var i=0;i<tr;i++ ){ table=table+"<tr>"; for(var j=0;j<td;j++){ //table=table+"<td>"+"a"+"<td/>"; table=table+"<td>a</td>"; } table=table+"</tr>"; } table=table+"</table>"; var div = document.getElementById("div"); div.innerHTML=table; }</script>
form
表单的3种提交方式
- form自带的type=”submit”
- 超链接提交
- button提交
form自带的type=”submit”
<form id="form1" action="hello.html"> 用户名:<input type="text" name="username"> 密码:<input type="password" name="password"> <input type="submit" value="提交"></form>
超链接提交
<form id="form1" action="hello.html"> 用户名:<input type="text" name="username"> <input type="button" name="btn" value="提交" onclick="submit();"/> <!--超链接--> <a href="hello.html">超链接提交</a></form>
button提交
在button的函数中,获取form标签,然后调用submit();
<form id="form1" action="hello.html"> 用户名:<input type="text" name="username"> 密码:<input type="password" name="password"> <input type="button" name="btn" value="提交" onclick="submit();"/></form>
<script> function submit(){ var form1=document.getElementById("form1"); form1.submit(); }</script>
BOM
BOM: Browsse Object Model,浏览器对象模型。
- Window
- Windwo Screen
- Window Location
- Window History
- Navigator
- 弹窗
- 计时事件
- Cookie
Window
获取width height
width:
var width1 = window.innerWidth;var width2 = document.body.clientWidth;var width2 = document.documentElement.clientWidth;
height:
var height1 = window.innerHeight;var height2 = document.body.clientHeight;var height3 = document.documentElement.clientHeight;
其它方法:
window.open();window.close();window.moveTo(100,200);window.resizeTo();
Screen
获取屏幕的宽高
window.screen.availWidthwindow.screen.availHeight
Location
window.location 对象在编写时可不使用 window 这个前缀。 一些例子:
一些实例:
location.hostname 返回 web 主机的域名location.pathname 返回当前页面的路径和文件名location.port 返回 web 主机的端口 (80 或 443)location.protocol 返回所使用的 web 协议(http:// 或 https://)
History
window.history.back();window.history.go()
Navigator
<body> <div id="example"></div> <script> text = "<p>浏览器代号"+navigator.appCodeName+"</p>"; text+="<p>浏览器名称"+navigator.appName+"</p>"; text+="<p>浏览器版本"+navigator.appVersion+"</p>"; text+="<p>启用cookies"+navigator.cookieEnabled+"</p>"; text+="<p>硬件平台"+navigator.platform+"</p>"; text+="<p>用户代理"+navigator.userAgent+"</p>"; text+="<p>用户代理语言"+navigator.systemLanguage+"</p>"; document.getElementById("example").innerHTML = text; </script></body>
弹窗
JS中有3种弹窗:警告框、确认框、提示框。
<body> <input type="button" onclick="myFunction1()" value="警告框" /> <input type="button" onclick="myFunction2()" value="确认框" /> <button onclick="myFunction3()">提示框</button> <p id="btn2"></p> <p id="btn3"></p> <script> function myFunction1() { alert("警告框"); } function myFunction2() { var a = confirm("确认框"); var x; if(a) { x = "你按下了确认键"; } else { x = "你按下了取消键"; } document.getElementById("btn2").innerHTML = x; } function myFunction3(){ var a = prompt("请输入你的名字",""); if(a!=null & a!=""){ document.getElementById("btn3").innerHTML="hello,"+a; } } </script></body>
计时事件
var a = window.setInterval(function() {myTimer()}, 1000);window.clearInterval(a);
点击第一个按钮,每隔3秒弹窗就会出现。
点击第二个按钮,取消时钟。
<body> <button onclick="myFunction1()">每隔3秒,弹出警告框</button> <button onclick="myFunction2()">取消时钟</button> <p id="p1"></p> <script> function myFunction1() { window.setInterval(function() { alert("3s") }, 3000); } var a = window.setInterval(function() {myTimer()}, 1000); function myTimer() { var a = new Date(); var b = a.toLocaleTimeString(); document.getElementById("p1").innerHTML = b; } function myFunction2() { window.clearInterval(a); } </script></body>
- javascript基础实例教程(二)
- javascript(基础整理二)
- JavaScript 基础之二
- javascript基础二
- javascript基础二
- javascript基础(二)
- JavaScript 基础 二
- JavaScript语言基础(二)
- 二 JavaScript基础语法
- Javascript基础(二)
- javascript基础二
- JavaScript进阶基础二
- Javascript基础(二)
- JavaScript基础(二)
- javaScript基础(二)
- javascript基础笔记(二)
- Javascript基础二
- JavaScript定时器基础二
- 约瑟夫问题java实现
- git-ssh 配置和使用
- 《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——线程安全与锁优化
- poj2001(Trie树)
- leetcodeo7---reverse
- JavaScript基础(二)
- Linux--僵尸进程与孤儿进程总结
- DAO模式的组成
- iOS文件下载
- 编程实现字符串中子串的查找
- PrintStream 类
- 存在 汪峰
- 同一台服务器运行多个mysql实例
- java基础学习之-04