JS_ECMA基本语法中的几种封装的小函数
先来回顾一下我们的字符串:
字符串方法: str.length str.charAt(i):取字符串中的某一个; str.indexOf('e');找第一个出现的位置;找不到返回-1; str.lastIndexOf('e'):找最后一个e出现的位置;找不到返回-1; str.toUpperCase();转大写 str.toLowerCase();转小写 str.substring(起始位置,结束位置):字符串截取; str.split('切割的方式');字符串切割;字符串转数组;
数组方法:
删除:arr.splice(开始位置,删除的个数); 添加:arr.splice(开始的位置[往哪一位的前面添加],0,元素1····); 替换:arr.splice(开始位置,删除的个数,元素1···); arr.sort(function(n1,n2){return n1 - n2}):排序 arr.reverse():翻转 arr.push();往数组后面添加一位; arr.unshift():往数组前面添加一位; arr.pop():从数组的后面删除一位; arr.shift():从数组的前面删除一位; arr.join('连接的方式');数组转字符串的方法; arr.concat(arr1,arr2····);数组连接;
6.数学方法: Math.random();随机数; Math.round():四舍五入; Math.ceil()向上取整; Math.floor()向下取整; Math.abs():取绝对值; Math.max(x,y):求最大数; Math.min(x,y);求最小数; Math.pow(x,y):几的几次方; Math.sqrt():开平方;
数组:存多个东西; json:存多个东西; json = { //键值对 name1[键,key]:value1[值,value], name2[键,key]:value2[值,value], }
json 与 arr 的区别:
1:length undefined arr.length; 2:下标 属性的方式 arr[0]; 3:顺序 没有顺序 有顺序; 4:循环 for in for,while,for in
for in循环也可以循环数组,但是不建议使用,因为性能略低;
js小特性: 逗号表达式:只看最后一个逗号后面的那个值;
下面是一个通过class获取元素封装的小函数:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
//getByClass(oParent,sClass);//oParent:从哪个父级下面获取;sClass:要获取的是哪个class名字;function getByClass(oParent,sClass){ if(oParent.getElementsByClassName){ return oParent.getElementsByClassName(sClass); }else{ var aEle = oParent.getElementsByTagName('*'); var arr = []; for(var i = 0; i < aEle.length; i++){ var tmp = aEle[i].className.split(' '); if(findInArr(sClass,tmp) == true){ arr.push(aEle[i]); } } return arr; }} |
下面是一些实用性的小案例额,希望对大家有所帮助
1 计算器效果.html
2.倒计时.html
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style> #box{ width: 800px; height: 300px; background: green; color: whitesmoke; line-height: 300px; text-align: center; margin:100px auto; font-size:40px; } </style> <script> window.onload=function(){ var oBox=document.getElementById('box'); var oDate=new Date(); oDate.setFullYear(2017,0,1); oDate.setHours(0,0,0,0); function clock(){ var ms=oDate.getTime()-new Date().getTime(); var oSec=parseInt(ms/1000); var oDay=parseInt(oSec/86400); oSec%=86400; var oHour=parseInt(oSec/3600); oSec%=3600; var oMin=parseInt(oSec/60); oSec%=60; oBox.innerHTML='距离2017年1月1日还剩'+oDay+'天'+oHour+'时'+oMin+'分'+oSec+'秒'; } clock(); setInterval(clock,1000); }; </script></head><body><div id="box"> 距离2017年1月1日还剩xx天xx时xx分xx秒</div></body></html> |
3.图片时钟.html
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style> body { background: darkgreen; color: #fff; font-size:50px; text-align: center; padding-top: 300px; } </style> <script> function addZero(n){ return n<10 ? '0'+n : ''+n ; } window.onload=function(){ var aImg=document.getElementsByTagName('img'); clock(); setInterval(clock,1000); function clock(){ var oDate=new Date(); var oHour=oDate.getHours(); var oMin=oDate.getMinutes(); var oSec=oDate.getSeconds(); var str=addZero(oHour)+addZero(oMin)+addZero(oSec); for(var i=0;i<aImg.length;i++){ aImg[i].src='img/'+str.charAt(i)+'.png'; } } } </script></head><body><img src="img/0.png" alt="" /><img src="img/0.png" alt="" />:<img src="img/0.png" alt="" /><img src="img/0.png" alt="" />:<img src="img/0.png" alt="" /><img src="img/0.png" alt="" /></body></html> |
4.本月一共有多少天.html
|
1
2
3
4
5
6
|
<script> var oDate=new Date(); oDate.setMonth(oDate.getMonth()+1); oDate.setDate(0); alert(oDate.getDate()) </script> |
5.本月第一天是星期几
|
1
2
3
4
5
|
<script> var oDate=new Date(); oDate.setDate(1); alert(oDate.getDay()); </script> |
6.九九乘法表:
|
1
2
3
4
5
6
7
8
9
10
11
|
<script>document.write('<table>');for(var i = 1; i <= 9; i++){ document.write('<tr>'); for(var j = 1; j <= i; j++){ document.write('<td>'+i+'*'+j+'='+i*j+'</td>'); } document.write('</tr>');}document.write('</table>');</script> |
7.json转换成字符串.html
|
1
2
3
4
5
6
7
8
9
10
|
<script> var json={a:12,b:5,c:9,d:6}; var arr=[]; for(var name in json){ arr.push(name+'='+json[name]) }; //alert(arr); var str=arr.join('&'); alert(str);</script> |
8.字符串转换成json.html
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<script>/*var str = 'a=1&b=2&c=3';//先切割字符串var arr = str.split('&');//console.log(arr);var json = {};for(var i = 0; i < arr.length; i++){ //把数组中的每一个用'='在切一下;返回的是一个新的数组[a,1],[b,2],[c,3] var arr2 = arr[i].split('='); //console.log(arr2); //往json中添加,数组中的第一个相当于是json的name,数组中的第二个相当于是json的value; json[arr2[0]] = arr2[1];}console.log(json);*/function str2json(str){ var arr = str.split('&'); var json = {}; for(var i = 0; i < arr.length; i++){ var arr2 = arr[i].split('='); json[arr2[0]] = arr2[1]; } return json;}console.log(str2json('a=1&b=2&c=3'));</script> |
今天就和大家分享到这里,明天继续,谢谢大家的支持,有什么不对的地方希望大家多多指教,本人也是一名初学者!
转自:http://www.cnblogs.com/lianzhibin/p/6067693.html
JS_ECMA基本语法中的几种封装的小函数的更多相关文章
- JS_ECMA基本语法中的几种封装的小函数-2
大家好!今天继续给大家写一下ECMA中的剩下的小函数以及实用的实例: 首先先给大家说一下字符串.数组.数学方法以及json的一点小知识点: 字符串方法: str.length str.charAt(i ...
- JS_ECMA基本语法中的几种封装的小函数-1
今天给大家介绍js ECMA中几个封装的小函数以及一些常用的函数小案例: 1,找重复的函数 <script> //在数组里面找重复: function findInArr(n,arr){ ...
- axios在vue项目中的一种封装方法
记录下之前领导封装的axios请求 npm install axios // 安装 单独写个文件配置axios,此处为request.js import axios from 'axios' //自定 ...
- SQL中的5种常用的聚集函数
首先你要知道 where->group by->having->order by/limit ,这个就是写sql语句时的顺序 常用的5个聚集函数: Max ...
- MySQL存储过程中的3种循环,存储过程的基本语法,ORACLE与MYSQL的存储过程/函数的使用区别,退出存储过程方法
在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环.还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易引起程序的混乱,在这里就不错具体 ...
- Shell中的(),{}几种语法用法-单独总结
shell中的(),{}几种语法用法 查看脚本语法是否有错误: bash -n modify_suffix.sh 跟踪执行 sh -x modify_suffix.sh aaa 1. ${var} 2 ...
- 探究JavaScript中的五种事件处理程序
探究JavaScript中的五种事件处理程序 我们知道JavaScript与HTML之间的交互是通过事件实现的.事件最早是在IE3和Netscape Navigator 2中出现的,当时是作为分担服务 ...
- 【转】UML中的几种关系详细解析
UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中, ...
- C++ 炼气期之基本结构语法中的底层逻辑
1. 前言 从语言的分类角度而言,C++是一种非常特殊的存在.属于高级语言范畴,但又具有低级语言的直接访问硬件的能力,这也成就了C++语言的另类性,因保留有其原始特性,其语法并不象其它高级语言一样易理 ...
随机推荐
- 1.SQL语句入门
--SQL语句入门-- --1.sql语言是解释语言 --2.它不区分大小写 --3.没有"",所有字符或者字符串都使用''包含 --4.sql里面也有类似于c#的运算符 -- 算 ...
- 【python】多进程学习
来源:廖雪峰 讲解看来源吧 把例子记一下 1.用fork创建进程 import os print "Process (%s) start..." % os.getpid() pid ...
- 第二章 C#基本数据类型
第一节 1-关键字和标识符关键字:会不同颜色显示标示符:由字母.中文.数字.下划线组成,不能以数字开头,不能是关键字,不能含有特殊符号,如:@,$思考:下列哪些是合法的标识符?a1.1a.a_b._1 ...
- finla变量,方法和类
1.finla变量关键字可用于变量声明,一旦该变量被设定,就不可以再改变该变量的值,通常,有final定义的变量为常量 final关键字定义的变量必须在声明时对其进行赋值定义,final除了可以修饰基 ...
- ASP.NET MVC Json()处理大数据异常解决方法,字符串的长度超过了为 maxJsonLength
问题: 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错.字符串的长度超过了为 maxJsonLength 属性设置的值. <system.web.exten ...
- DOM – (w3school)1.DOM 方法 + 2.DOM属性 + 3.DOM 元素
1.DOM 方法 一些 DOM 对象方法 这里提供一些您将在本教程中学到的常用方法: 方法 描述 getElementById() 返回带有指定 ID 的元素. getElementsByTa ...
- c++ 调用dll
1.首先写一个dll程序并且输出成dll. 新建win32项目,然后在应用程序类型中选择dll. HelloDll.h: #pragma once #ifndef MYDLL_API_EXPORTS ...
- Nginx+lua环境搭建
其实有点类似WampServer一站式安装包 wget http://openresty.org/download/ngx_openresty-1.7.10.1.tar.gz tar -zxvf ng ...
- hdu 4272 2012长春赛区网络赛 dfs暴力 ***
总是T,以为要剪枝,后来发现加个map就行了 #include<cstdio> #include<iostream> #include<algorithm> #in ...
- 64位ubuntu下重新编译hadoop2.2流水账
hadoop官方网站中只提供了32位的hadoop-2.2.0.tar.gz,如果要在64位ubuntu下部署hadoop-2.2.0,就需要重新编译源码包,生成64位的部署包.建议以下操作使用roo ...