<b>获取样式:</b>
封装了一个获取非行间样式:
封装: 就是把代码包裹起来
特点:
a). 通用性
b). 方便
function getStyle(obj,name) {
return obj.currentStyle ? obj.currentStyle[name] : getComputedStyle(obj,false)[name];
}
<b>设置样式:</b>
a). class -> oDiv.className=’xx’
b). style -> oDiv.style.样式=’xxx’
其他方式:
cssText: -> 批量设置样式
也是操作的行间的样式
字符串小方法(函数)
<b>1. str.charAt(索引值);</b>
获取字符串中的某一个?
var str = ‘abc’;
str.charAt(索引值);
返回:小字符串
<b>2. str.indexOf(小字符串)</b>
在字符串中找某一个小字符串的位置
var str = ‘welcome’;
str.indexOf(小字符串)
返回:数字
<strong>特性:</strong>
a). 找到之后不会继续往下找
b). 找不到就返回-1
c). 区分大小写
d). 从左往右找
e). 找多个小字符串会返回第一个匹配字符的位置
eg: 判断浏览器类型
UA: window.navigator.userAgent
Chrome:
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36
FF:
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0
IE7:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; InfoPath.3)
在window.navigator.userAgent下找相对应的关键词
<b>3. str.indexOf(小字符串)</b>
找小字符串在整个字符串中的位置,从右往左找
返回:数字
特性:
a). 找到之后不会继续往下找
b). 找不到就返回-1
c). 区分大小写
d). 从右往左
e). 找多个小字符串会返回第一个匹配字符的位置
<b>4. str.substring(开始位置,结束位置)</b>
var str = ‘width’;
截取字符串
str.substring(开始位置,结束位置);
*** 包含开始位置,但是不包含结束位置
str.substring(开始位置)
从开始位置一直截取到最后
eg :
截取扩展名:
a.txt.js.html.doc
a). 找最后一个 . 出现的一个位置
b). 从最后一个点的位置+1 开始截取,一直截取到最后
<b>5. str.split(切割的规则);</b>
切割字符串
把字符串变成数组
返回:数组
如果没有找到切割规则,原样输出到一个数组中,长度是1
<b>6. 大小写转换:</b>
var str = ‘width’;
转大写: -> ‘WIDTH’
str.toUpperCase();
var str = ‘WIDTH’;
转小写: -> ‘width’
str.toLowerCase();
<b>字符串的比较(一般没什么用,知道就行)</b>
'apple' 'banana'
1. 英文:
按照字典序
a -> 最小
z -> 最大
先比较第一个,如果相等会依次比较下去
2. 数字:
a). 一个数字,一个字符串的数字
先做隐式转化,在做比较
b). 两个字符串的数字比较
先比较第一个,如果相等会依次比较下去
3. 汉字:
蒙圈
Unicode 排序
数组小方法(函数)
怎么定义一个数组:
a). var arr = [1,2,3]; √
b). var arr = new Array(1,2,3);
小问题:当new 一个数组内容为一个数字的时候他返回的就是他的长度为该数字
var arr = new Array(3); 数组的长度是3
长度 : arr.length
访问: arr[下标]
添加:
a). push(东西) -> 往数组的最后面添加一项
b). unshift(东西) -> 往数组的最前面添加一项
返回:新数组的长度
删除:
a). pop(); -> 从数组的最后面删除一项
返回删除的东西
b). shift(); -> 从数组的最前面删除一项
返回删除的东西
万能操作:
arr.splice(开始位置,删除个数,元素1,元素2…);
添加:
var arr = [1,2,3,4]
在 1 的后面添加 'a' 和 'b'
arr.splice(1,0,'a','b')
删除:
var arr = [1,2,3,4];
删除 2,3
arr.splice(1,2);
修改:先删除在添加
var arr = [1,2,3,4];
把 2 改成 8,88,888
arr.splice(1,1,8,88,888);
splice模拟上面的方法:
a). splice模拟push方法:
arr.splice(arr.length,0,元素);
b). splice模拟unshift方法:
arr.splice(0,0,元素);
c). splice模拟pop方法:
arr.splice(arr.length-1,1);
d). splice模拟shift方法:
arr.splice(0,1);
字符串转数组:
str.split(切割的规则);
数组转字符串:
var arr = [1,2,3,4];
arr.join(‘连接的规则’);
数组拼接:
arr.concat(数组)
var arr = [1,2,3];
var arr2 = [4,5,6];
arr.concat(arr2....);
var arr = [1,2,3,4,5];
数组反转:
a). arr.reverse();
b). 循环pop
数组排序:
arr.sort();
var arr = [‘banana’,’apple’,’width’,’color’];
a). 字母 -> 按照字典序
var arr = [’11’,’12’,’333′,’231′];
b). 字符串数字 -> 按照首字母大小
var arr = [1,2,11,23,123,5];
c).arr.sort();
高级排序:
arr.sort(function(n1,n2){
n1 > n2
n1 < n2
n1 = n2
});
// 从小到大
arr.sort(function(n1,n2){
return n1 - n2;
});
// 从大到小
arr.sort(function(n1,n2){
return n2 - n1;
});
关于数组注意点:
a). 数组里面一般可以放任意数据类型的东西,但是建议大家只放一种数据类型
b). 数组的长度length, 还可以修改
怎么快速清空一个数组:
a). arr.length = 0
b). arr.splice(0,arr.length)
c). 循环pop
d). arr = [];