这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
这篇文章主要介绍了 JS 限制条件补全问题, 涉及 javascript 数组、字符串的递归、遍历、排序及正则操作相关技巧, 需要的朋友可以参考下
本文实例分析了 JS 限制条件补全问题。分享给大家供大家参考,具体如下:
题目一. a 和 b 两个变量,不用第三个变量来切换两个变量值
- var a=5;
- var b=6;
- a=a+b;
- b=a-b;
- a=a-b;
- alert(a);
- alert(b);
题目二. 有一个数 n=5,不用 for 循环,怎样返回 [1,2,3,4,5] 这样的数组
方法一. 用递归来进行遍历
- var n=5;
- function show(){
- var arr=[];
- return (function(){
- arr.unshift(n);
- n--;
- if(n!=0){
- arguments.callee();
- }
- return arr;
- })();
- }
- alert(show(n));
方法二. 用正则来匹配模拟次数
- var n=5;
- var arr=[];
- arr.length=n+1;
- var arr2=[];
- var str=arr.join("a"); //中间连接符用a,要六个数才五个逗号,所以length=n+1
- var re=/a/g;
- str.replace(re,function(){
- arr2.unshift(n--);
- });
- alert(arr2);
题目三. 一个数 n,当 n<100 就返回 n,否则返回 100,但是不能用 if else、三目、switch 等
方法一. Math.min
- var n=150;
- function show(){
- return Math.min(n,100);
- }
- alert(show(n));
方法二. 用数组排序
- var n=50;
- function show(){
- var arr=[n,100];
- arr.sort();
- return arr[0];
- }
- alert(show(n));
方法三. 根据数字转字符串后的长度判断,用到 for 循环,如果长度小于 3,就返回自身,大于等于 3 就返回 100
- var n=150;
- function show(){
- var str="n";
- for(;str.length<3;){
- return n;
- }
- for(;str.length>=3;){
- return 100;
- }
- }
- alert(show(n));
方法四. json
- var n=50;
- function show(){
- var json={};
- var m=n<100||json; //m是布尔值
- for(var attr in m){
- return 100;
- }
- return n;
- }
- alert(show(n));
希望本文所述对大家 JavaScript 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0525/329486.html