1:流程控制
if .. else; 条件语句 满足执行if 里面的; 不满足 执行 else的;
if .. elseif .. else; 层层查找 都不满足 执行else;
for; 循环
for in; 循环对象的key;
while/do .. while; 当条件一直满足时一直执行; do...while 先执行再判断最少执行一次;
switch .. case .. default; swith 写条件 case满足就执行; 都不满足执行 default;
try .. catch ..finally; try 中执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容;finally会一直执行;
throw; throw 创建自定义错误;
with; with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性。要给对象创建新的属性,必须明确地引用该对象; => 例: var people = {‘name‘:‘itdsn‘, ‘age‘ : 28, ‘professional‘ : ‘WebDeveloper‘}
with(people){var str = "姓名: " + name + "<br>"; str += "年龄:" + age + "<br>"; str += "职业:" + professional;document.write(str);}
2:应用
幻灯片播放时可以轮询播放:此处从0开始;
实现原理:
function(){
var max = Math.max.apply(Math, arguments);
事件发生 => index ++;
要到的位置 => (max + index % max) % max;
}
实现Math.pow();
function pow(n1 , n2){ var y = n1; for (var i = 1; i < n2; i++){ n1 = n1*y; } return n1; }
小写字母转换为大写;实现toLowerCase;
function toLowercase(str){ var reg = /[A-Z]/; for(var i = 0; i < str.length; i++){ if(reg.test(str[i])){ str = str.replace(str[i],String.fromCharCode(str[i].charCodeAt()+32)); } } return str; }toLowercase(‘AAAaaa123&&**AZ‘);
哈哈哈哈,写完了我发现我好2;
其实可以直接:
function toLowerCase(str){ return str.replace(/[A-Z]/g, function(w){return String.fromCharCode(w.charCodeAt()+32)}); }
判断是否为小写字母/大写字母/数字并统计它们的个数;
function statistical(str){ var upper = 0, lower = 0, numbers = 0; for(var i = 0; i < str.length; i++){ if(str[i].charCodeAt() >= 97&& str[i].charCodeAt() <= 122){ lower++ }else if(str[i].charCodeAt() >= 65 && str[i].charCodeat() <= 90){ upper++; }else{ numbers++; } } return [upper, lower, numbers]; }
把字符串中的\t转化为两个空格;
function transfrom(str){ return str.replace(/\\t/g,‘ ‘); }
将数字字符串转换成数字;
function transNumber(str){ return + str.replace(/\D+/g,‘‘); }
查找字符串中只出现一次的字符;
function once(str){ var arr = []; for(var i = 0; i < str.length; i++){ if(str.lastIndexOf(str[i]) === str.indexOf(str[i])){ arr.push(str[i]); } } return arr; }