continue 持续原状 使继续、
charAt 截取一个字符(字符串截取)
findInArr
-------------------------------------------------
关于数组:
unshift(); 在数组的最前添加一个
push(); 在数组的最后一位添加
shift(); 在数组的最前面删除一个
pop(); 在数组的最后一位给删除掉delete
splice(); :
arr.splice(起始位置的下标,删除的个数);
arr.splice(arr.length,0,4)用splice做push的功能
arr.splice(arr.length-1,1);用splice做pop的功能
arr.splice(起始位置的下标,删除0个,要添加的第1个,要添加的第2个,3,4,);
arr.splice(起始位置下标,删除的个数,'a','b');
------------------------------------------------
关于字符串:
str.charAt(下标) 获取第几个字符串
indexOf(''); 在一个大的字符串里查找一个小字符串的位置
lastindexOf(); 从右往左找,返回的下标是从左往右数的
substring(3,7); 从大字符串里面截取一个小字符串(从第3个到第7个位子-不包括结束位置)当他的值为一个数的时候 一直截取到最后
split(‘切分的东西’); 切分之后,就变成了数组!如果里面是空字符串,就会把大字符串给切碎了!
concat 数组拼接
var arr=[1,2,3];
var arr2=[4,5,6];
alert(arr.concat(arr2));
reverse 数组翻转
sort 排序
大小写转换
toUpperCase() 小转大
toLowerCase() 大转小
join() 方法加入数组的所有元素为一个字符串。指定字符串分开数组的每个元素。如果省略,则数组元素用逗号分隔。
parseFloat 可以把字符串转换成:数字(保留小数)
parseInt
可以把字符串转换成:数字(整数,取整) 在整数范围内,碰到字母,不读取!
charCodeAt 指定字符的编码
fromCharCode 编码转换成字符串
Number
可以把字符串转换成:数字(数字)
严格模式:如果里面有一个字母,我就告诉你NAN(不是数字)
NaN----不是一个数字,但是它是一个数字类型!
它自己不等于自己!
判断NaN用:
isNaN(a)
---------------------------------------------------------
关于数学的方法:
1.Math.random() 随机数
2.Math.abs() 绝对值
3.Math.max(113,45) 最大值
谁大是谁 ,目前来说它是113
4.Math.min(113,45) 最小值
谁小是谁 ,目前来说它是45
5.Math.pow(n,m) n的m次方
6.Math.sqrt(25) 开平方
5
----------------------------------
7.向上取整
Math.ceil(12.11)---13
8.向下取整
Math.floor(12.89);---12
9.四舍五入
Math.round(12.5);
===========================================================
字符串:(类型)
带引号的都是字符串
***一个大字符串=多个小字符串相加!
数组: 是一个可拆分的object
var arr=['zhinegshe',456,789,....]
数据类型:
typeof(a)----查看数据类型!!!
常见的6种数据类型:
number---数字
string---字符串
boolean---布尔值
object----对象
undefined---未定义
function--函数
数组是一个特殊的object,因为它可以拆分为多个数据类型!
var arr=['123',123,true]
alert(typeof arr)
软调试:
alert(1)---调试简单程序,可以缩小错误范围(不能调试带循环)
1.document.title=i; 把最后的值打印到title上!
2.console.log(i)
隐式转换:
(1)加法可以使数字转化字符串
var a='12';
var b=6;
alert(a+b)---126
字符串加数字=字符串
**加法:数字自动转换成字符串!(一个字符串,一个数字)
(2)减法:可以使字符串转换成数字
var a='12';
var b=6;
alert(a+b)---126
字符串减去数字=数字
(3)在比较的时候,也可以把字符串转换成数字!
修改标签的内容:
1.表单元素---value
2.普通元素---innerHTML(修改标签里面的所有内容)
字符串:
页面中只要是加引号的都是字符串
字符串+字符串=大字符串
作用域:
全局变量:在程序中任何位置都可以使用
局部变量:只能在函数内部使用
闭包:子函数可以使用父函数的局部变量
什么是真?
true 非0的数字 非空字符串 非空对象
什么是假
false 0 空字符串 undefined null NaN
获取非行间样式:
1、getComputedStyle(oBox,false).width
兼容:ie9+ 谷歌 火狐
不兼容:ie8-
2、oBox.currentStyle.width
只兼容:ie系列
兼容写法:获取到的值是字符串!
if(oBox.currentStyle){
alert(oBox.currentStyle.width);
}else{
alert(getComputedStyle(oBox,false).width);
}
注意:获取到值是最终页面上展现出来的!
随机数:
n-m
parseInt(Math.random()*(m-n))+n
select里面有一个事件:
select.onchange=function(){};
eval();
--------
1. eval可以把字符串的运算,转换成普通数字运算!
例子:
var str='12+8';
alert(eval(str));
2.eval可以把字符串的数组,转换成普通数组var str='[1,2,3,4]';
alert(eval(str));
3.eval可以把字符串的函数,转换成普通函数
var str='function show(){alert(1)}';
eval(str);
show();
--------------------------
总结:
eval可以把看似很像程序代码的字符串转换成,真真意义上程序(可以转化成程序可以执行的东西)
----和字符串打交道!
可以字符串解析成js可以理解的程序!
undefined出现情况:
1.return为空,不写return
2.定义一个变量不赋值
3.访问一个元素里面,不存在的属性
方括号下标对数组是标配!
对于字符串来说:不兼容ie7-
字符串也有一个下标标配:
alert(str.charAt(2));
this在哪些地方不管用:
1.封装的函数里,在事件那里调用(必须传参)!
2.定时器里面不可以直接使用父级函数的this!
(必须把this保存在父级函数的局部变量里面)
封闭空间:
好处:
1.可以解决变量名冲突!
2.可以解决i值的问题!
3.可以解决定时器的i值
命名冲突(变量名冲突):
怎么解决?
答:封闭空间!
arguments 就代表 show 里面实际参数的数组
好处:
首先不用在有几个实参,就的写一个形参!
获取样式:
1.行间样式(alert(obj.style.wdith))
2.获取非行间样式
设置样式:
1.行间样式(obj.style.wdith='100px')
2.className
3.link
4.
with(oBox.style){//公共代码
width='200px';
height='200px';
background='blue';
}
5.
oBox.style.cssText='width:200px;height:200px;background:green;';
数组 json 区别:
共同: 都可以存储多个
区别:
arr:
1.数组有length
2.for循环
3.alert(arr)
4.arr是有序
5.下标是数字
json:
1.没有length
2.for(var name in json){//在json里面循环name(弹出name,访问值,访问json里面name)
alert(json[name]);
}
3. console.log(json);
4.是无序
5.下标是字符串
json和数组的很大区别:
数组:添加:
arr.push();
json :添加
var json={a:1,b:2};
json.c=3;
console.log(json);
数组:删除
arr.pop();
json :删除
var json={a:1,b:2,c:3};
delete json.b;
console.log(json);
利用数组的length属性可以动态的 添加属性和删除属性
var arr=['red','black','green']
arr.length=4;
arr[3]='yellow';
arr[arr.length]='switchQ';
arr[arr.length]='font';
isArray 检测 是不是数组
IF(Array.isArray() ){}
---------------------
every(): 对数组中的每一项运行给定函数如果该函数的每一项都返回true ,则返回true
filter(): 对数组中每一项运行给定函数,返回该函数会返回true的所有项组成的数组//查询符合某些条件的数组很有用
reduce()可以求数组所有值的和 他的函数接受4个参数:前一个值,当前值,项的索引,数组对象 例如:
var values = [1,2,3,4,5];
var sum = values.reduce(function(prev, cur, index, array){
return prev + cur;
});
alert(sum); //15
reduceRight():方法与reduce()差不多不过顺序是相反的
obj.call(绑定this指向)
javascript的一些小故事
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- JS使用技巧专题 1开发技巧 1.1函数使用 1.1.1函数声明方式 JS函数的写法总结 http://blog....