js总结(一)
来源:互联网 发布:mac ruby woo 编辑:程序博客网 时间:2024/05/21 18:48
1.浏览器渲染完毕事件
第一种监测方式:
window.onload=function(){};
执行时机:必须等待网页中的所有内容加载完毕后(包括图片)才能执行
编写个数:不能同时编写多个,多个一起执行时只能执行最后一个
第二种监测方式:
$(document).ready(function(){});可简写为:$(function(){});
执行时机:网页中所有的DOM结构绘制完毕后就执行,可能DOM元素关联的东西并没有加载完
编写个数:能同时编写多个,多个一起执行时结果均可以输出
2.script标签的位置
(1)放置在head中,但是必须使用window.onload
(2)放置在body的底部
(3)外部引用
3.自动获取距离
(1)offsetLeft 距离浏览器左端的距离
(2)offsetTop 当前标签距离浏览器上方或上方控件的距离
(3)clientHeight内容可视区域的高度,比如一个输入框的高度
4.定义一个变量没有赋值,那么默认值是undefined
5.innerHTML是JS中是双向功能
(1)通过document.getElementById("aa").innerHTML
来获取id为aa对象的内容
(2)也可以对某对象插入或修改内容 document.getElementById("abc").innerHTML="这是被插入或者修改的内容"
id为abc的对象插入或者修改
6.设置或读取样式
(1)设置样式
标签.style.xxx=”“;
例如document.getElementById("abc").style.color="orange";
(2)读取样式
标签.style.xxx
例如document.getElementById("abc").style.width
7.字符串(String类型)
(1)charAt( ) 返回在指定位置的字符
例如
var str="hello word"alert(str.charAt(1));//"e"
还可以使用方括号加数字索引来访问字符串中的特定字符
alert(str[1]); //"e"
(2)charCodeAt() 返回在指定位置的字符串编码
alert(str.charCodeAt(1));//输出"101"
(3)concat()连接字符串
例如 var a="hello"
var b=a.concat("world");alert(a) //"hello"alert(b) //"hello world"
还可以连接多个字符串
var a="hello"var b=a.concat("world","!");alert(b) //"hello world!"
(4)slice() 提取字符串片段,并在新的字符串中返回被提取的部分
var a="hello world";alert(a.slice(3)); // "lo world"alert(a.slice(3,7)); //"lo w"alert(a.slice(-3)); //"rld" -3+11=8alert(a.slice(3,-4)) //"lo w"
(5)substr() 从起始索引号提取字符串中指定数目的字符
var a="hello world"alert(a.substr(3)); //"lo world"alert(a.substr(3,7)) //"lo worl"alert(a.substr(-3)); //"rld"alert(a.substr(3,-4)); //""(空字符串)
【注】substr将负的第一个参数加上字符串的长度,将负的第二个参数转换为0
(6)substring() 提取字符串中两个指定的索引号之间的字符
var a="hello world"alert(a.substring(3)); //"lo world"alert(a.substring(3,7); //"lo w"alert(a.substring(-3)); //"hello world"alert(a.substring(3,-4)); //"hel"
【注】substring会把所有的负值参数转化为0,substring(3,-4) 中负值转换为0,即substring(3,0),这个方法会将较小的数作为开始位置,较大的数作为结束位置,所以变为substring(0,3)
(7)indexOf() 和 lastIndexOf() 检索字符串/从后向前检索字符串
var a="hello world"alert(a.indexOf("o")); //4alert(a.lastindexOf("o")); //7
这两个方法都可以接收可选的第二个参数,表示从字符串的哪个位置开始搜索
alert(a.indexOf("o",6)); //7alert(a.lastindexOf("o",6)); //4
【注】indexof是从位置6向后搜索,在第7位找到了o
lastIndexof是从位置6向前搜索,在第4位找到了o
(8)trim() 创建一个字符串的副本,删除前置以及后缀的所有空格
var a=" hello world "alert(a.trim()); //"hello world"alert(a); //" hello world "
(9)
toLocalUpperCase() 将字符串转换为大写
toUpperCase() 将字符串转换为大写
toLocalLowerCase() 将字符串转换为小写
toLowerCase() 将字符串转换为小写
(10)split() 把字符串分割成字符串数组,接收可选的第二个参数,用于指定数组的大小
var a="aa-bb-cc"alert(a.split("-")); //["aa","bb","cc"]var b="dd ee ff";alert(b.spilt(" ")); //["dd","ee","ff"]
括号里是什么就按什么分割字符串数组,如果没有就将每一项分割成数组
8.数组(Array类型)
创建数组的两种方式:
1.使用Array()构造函数
var arr=new Array();
2.使用数组字面量表示法
var colors=["red","yellow","green"]
对象方法
(1) concat() 连接两个或更多的数组,并返回结果
var a=[1,2,3],b=[4,5];a.concat(b); //[1,2,3,4,5]
(2)join() 只接收一个参数,即作为分隔符的字符串,然后返回包含所有数组项的字符串
var colors=["red","yellow","green"];a.join(","); //red,yellow,greena.join("||"); //red||yellow||green
【注】如果不给join()方法里传入任何值,或者给它传入undefined,则使用逗号作为分隔符
(3)pop() 数组末尾移除一项,返回移除项
var a=[1,2,3]a.pop(); //3输出a //[1,2]
(4)push() 数组末尾添加,返回数组的长度
var a=[1,2]a.push(3); //3输出a //[1,2,3]
(5)shift() 移除数组中的第一项并返回该项
unshift() 向数组的开头添加一个或更多元素,并返回新的长度
var a=["red","green","yellow"];a.shift(); //"red"输出a //["green","yellow"]
(6)reverse() 颠倒数组中元素的顺序,返回值是经过排序后的数组
var a=[1,2,3,4,5]a.reverse(); //[5,4,3,2,1]
(7)sort() 从小到大排序,比较字符串, 返回值是经过排序后的数组
var arr=[0,1,5,10,15]arr.sort(); //[0,1,10,15,5]此时需要使用比较函数function compare(a,b){ return a-b;}arr.sort(compare);//a,b表示数组中的任意两个元素,//a-b 输出从小到大排序//b-a 输出从大到小排序
(8)slice() 返回从该参数指定位置开始到当前数组末尾的所有项
如果由两个参数,该方法返回起始和结束位置之间的项但不包括结束位置的项
【注】slice方法不会影响原始数组
var colors=["blue","green","red","orange"];colors.slice(1); //["green","red","orange"]colors.slice(1,3); //["green","red"]
(9)splice() 向数组的中部插入项
1.删除
可以删除任意数量的项,2个参数:要删除的第一项的位置和要删除的项数
splice(0,2)会删除数组中的前两项
2.插入
可以向指定位置插入任意数量的项,3个参数:起始位置,0(要删除的项数),要插入的项
splice(2,0,"red","green")会从当前数组的位置2开始插入字符串"red"和"green"
3.替换
可以向指定位置插入任意数量的项,且同时删除任意数量的项,3个参数:起始位置,要删除的项数,要插入的任意数量的项。插入的项数不必与删除的项数相等
splice(2,1,"red","green")会删除当前数组位置2的项,然后再从位置2开始插入字符串"red"和"green"
一些程序
1.最大最小值
最大值:var arr=[1,4,2,7,6]function maxArr(num){ var maxNum=num[0]; for(var i=0;i<arr.length-1;i++){ if(maxNum<num[i]){ maxNum=num[i] }; }; return maxNum;};document.write(maxArr(arr));
2.收缩展开
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <style> div{width:500px;border:5px solid #ddd;padding:10px;} </style> </head> <body> <div> <p class="demo">教养和文化是两回事,有的人很有文化,但是很没教养,有的人没有什么太高的学历和学识,但仍然很有教养,很有分寸。教养是带有某种天生的素质和一点一滴的积累。人生那么长,未知的东西那么多。人与人之间的关系往往是相互的,与人为善,也是与自己为善。让自己更平和一点,更豁达一点,对于身边的过错,让自己更宽容一点。人人都有他的难处,何必强求于人。人生在世,行路匆匆,生活充满变数,时而乐极生悲,时而苦尽甘来,一切不必较真,只须笃定前行。要敢于认错,既然错了,就要纠正,虚假是味毒药,真实能帮你把失去的赢回来;要敢于担当,回避不是办法。人出生时,是一块质朴的石块,有棱有角,生气勃勃。但是,在生活无情的打磨中,人生慢慢被磨去棱角,变得圆滑而世故。要做坚守在悬崖峭壁上石块,勇敢忍受风霜的雕刻,永远保留自己的棱角。不要做河流里的石头,享受微波多情的抚摸,最后变成一块光亮的鹅卵石。</p> <input class="command" type="button" value="收缩" onclick="clickOut()"/> </div> <script> //var dom=document.getElementsByTagName("p"); //var content=dom[0].innerHTML var dom=document.querySelector(".demo"); var obtn=document.querySelector(".command"); var content=dom.innerHTML; var hasclass=true; function clickOut(){ if(hasclass){ dom.innerHTML=content.substring(0,50); obtn.value="展开"; }else{ dom.innerHTML=content; obtn.value="收缩"; } hasclass=!hasclass; } </script> </body></html>
3.简单排序,冒泡排序
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>简单排序,冒泡排序</title> </head> <body> <script type="text/javascript"> var temp=0; var arr=[12,2,4,23,56,15,3]; function compare(){ for(var i=0;i<arr.length-1;i++){ for(var j=0;j<arr.length-i;j++){ if(arr[j]>arr[j+1]){ temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } return arr; }; document.write(compare(arr)); </script> </body></html>
4.切换
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <style> *{padding:0px;margin:0px;} div{width:100px;height:100px;border:1px solid #ccc;float:left;} p{padding:20px;} p{clear:both;} .active{background:red} </style> </head> <body> <div onclick="clickDiv1()">我是div1</div> <div onclick="clickDiv2()">我是div2</div> <p >div1的内容</p> <p>div2的内容</p> <script> var dom1=document.querySelectorAll("div")[0]; var dom2=document.querySelectorAll("div")[1]; var op=document.getElementsByTagName("p"); function clickDiv1(){ dom1.className="active"; //dom1.setAttribute("class","active"); dom2.className=""; op[0].style.display="block"; op[1].style.display="none"; } function clickDiv2(){ dom2.className="active"; dom1.className=""; op[1].style.display="block"; op[0].style.display="none"; } </script> </body></html>
5.查找
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <style> *{margin:0px;padding:0px;} .wrapper{width:500px;height:400px;border:5px solid orange;margin:20px auto;} p{background:#ccc;padding:20px;margin-bottom:20px;line-height:20px;} div .demo{width:60px;height:30px;line-height:30px;cursor:pointer;} .active{background:red} .float-l{float:left;} .clear{clear:both;} </style> </head> <body> <div class="wrapper"> <p>教养和文化是两回事,有的人很有文化,但是很没教养,有的人没有什么太高的学历和学识,但仍然很有教养,很有分寸。教养是带有某种天生的素质和一点一滴的积累。人生那么长,未知的东西那么多。人与人之间的关系往往是相互的,与人为善,也是与自己为善。让自己更平和一点,更豁达一点,对于身边的过错,让自己更宽容一点。人人都有他的难处,何必强求于人。人生在世,行路匆匆,生活充满变数,时而乐极生悲,时而苦尽甘来,一切不必较真,只须笃定前行。要敢于认错,既然错了,就要纠正,虚假是味毒药,真实能帮你把失去的赢回来;要敢于担当,回避不是办法。人出生时,是一块质朴的石块,有棱有角,生气勃勃。但是,在生活无情的打磨中,人生慢慢被磨去棱角,变得圆滑而世故。要做坚守在悬崖峭壁上石块,勇敢忍受风霜的雕刻,永远保留自己的棱角。不要做河流里的石头,享受微波多情的抚摸,最后变成一块光亮的鹅卵石。</p> <div class="demo float-l" onclick="clickDiv1()"><span class="active">我是div1</span></div> <div class="demo float-l" onclick="clickDiv2()"><span>我是div2</span></div> <div class="clear"><input type="text"/><input type="button" value="查找"></div> <div class="clear"><input type="text"/><input type="text"/><input type="button" value="替换"></div> </div> <script> var dom=document.getElementsByTagName("div"); var ospan=document.querySelectorAll("span"); var obtn=document.querySelectorAll("input[type=button]"); var oinput=document.getElementsByTagName("input"); var op=document.getElementsByTagName("p") var str1=op[0].innerHTML; var str=oinput[0].value; dom[4].style.display="none"; function clickDiv1(){ ospan[0].setAttribute("class","active") ospan[1].className=""; dom[3].style.display="block"; dom[4].style.display="none"; } function clickDiv2(){ ospan[1].setAttribute("class","active"); ospan[0].className=""; dom[4].style.display="block"; dom[3].style.display="none"; } obtn[0].onclick=function(){ var str=oinput[0].value; if(oinput[0].value==""){ alert("请重新输入!") }else if(str1.indexOf(str)!=-1){ var arr=str1.split(str); str=arr.join('<span style="background:green;width:20px;height:20px;">'+str+'</span>'); op[0].innerHTML=str;0 }else{ alert("没有找到!") } } obtn[1].onclick=function(){ var a=oinput[2].value; var b=oinput[3].value; var c=str1.split(a); op[0].innerHTML=c.join(b); } </script> </body></html>
- js总结(一)
- js学习总结(一)
- JS学习总结(一)
- js学习总结(一)
- Node.js学习总结(一)
- Node.js学习总结(一)
- 读书笔记:js数组操作总结(一)
- React.js语法学习总结(一)
- 前端面试js小总结(一)
- bootbox.js实践总结(一)
- 面试题总结 JS篇 (一)
- Vue.js知识总结 (一)
- js的常用方法总结(一)
- js 总结一
- JS知识点总结(一)
- js基础总结(一)
- JS学习总结(一)
- js常用函数总结(一)
- 高效的找出两个List中的不同元素
- 单例模式
- 「codeforces 」教育场20-D.Magazine Ad
- 监控平台zabbxi安装以及使用指南
- HDU
- js总结(一)
- 常见图片格式jpg、jpeg、png、gif等之间的区别
- Github上最受关注的前端大牛,快来膜拜吧!
- 无线大图换小图实现
- 用python绘制树和深林
- Android Studio JNI开发入门教程
- 20位活跃在Github上的国内技术大牛
- Kotlin学习之路(一)
- 使用Hibernate连接MySQL实现添加数据功能