js断点调试与工具方法

2018-01-16  本文已影响26人  递归循环迭代
//1.变量转换Array()或者Number()来进行变量转换是常用的做法。始终使用原始数据类型来转换变量效率更高。
var myVar   = "3.14159",
str     = ""+ myVar,//  to string
int     = ~~myVar,  //  to integer
float   = 1*myVar,  //  to float
bool    = !!myVar,  /*  to boolean - any string with length
and any number except 0 are true */
array   = [myVar];  //  to array
(3.1415).toFixed(3); // Rounding the number, returns "3.142"
//转换日期(new Date(myVar))和正则表达式(new RegExp(myVar))必须使用构造函数,而且创建正则表达式的时候要使用/pattern/flags的形式。

//2.有很多变通方法可以让数字的字面值看起来像对象。
2..toString(); // 第二个点号可以正常解析
2 .toString(); // 注意点号前面的空格
(2).toString(); // 2先被计算
//3.判断属性是否存在这个问题包含两个方面,既有检查属性时候存在,还要获取属性的类型:
 if(value==="" || value===undefined || value===null){
            return null;
        }else{
            return value;
        }
//给函数传递参数,当函数既有必选又有可选参数的时候,我们可能是这样做的:
function doSomething(arg0, arg1, arg2, arg3, arg4) {
  ...
}
doSomething('', 'foo', 5, [], false);
//而传递一个对象总是比传递一堆的参数更方便:
function doSomething() {
  // Leaves the function if nothing is passed
  if (!arguments[0]) {
  return false;
  }
  var oArgs   = arguments[0]
  arg0    = oArgs.arg0 || "",
  arg1    = oArgs.arg1 || "",
  arg2    = oArgs.arg2 || 0,
  arg3    = oArgs.arg3 || [],
  arg4    = oArgs.arg4 || false;
}
//这只是一个把对象作为参数传递的一个很简单的例子,例如,我们还可以声明一个对象,变量名作为Key,默认值作为Value。
doSomething({
  arg1    : "foo",
  arg2    : 5,
  arg4    : false
});

//4.为replace()方法传递一个函数,替换字符串的某个部分为其它的值,最好的方法就是给String.replace()传递一个独立的函数。
var sFlop   = "Flop: [Ah] [Ks] [7c]";
var aValues = {"A":"Ace","K":"King",7:"Seven"};
var aSuits  = {"h":"Hearts","s":"Spades",
"d":"Diamonds","c":"Clubs"};
sFlop   = sFlop.replace(/
\w+
/gi, function(match) {
  match   = match.replace(match[2], aSuits[match[2]]);
  match   = match.replace(match[1], aValues[match[1]] +" of ");
  return match;
});
// string sFlop now contains:
// "Flop: [Ace of Hearts] [King of Spades] [Seven of Clubs]"

//5.有的时候,循环中又嵌套了循环,你可能想在循环中退出,则可以用标签:
outerloop:
for (var iI=0;iI<5;iI++) {
  if (somethingIsTrue()) {
  // Breaks the outer loop iteration
  break outerloop;
  }
  innerloop:
  for (var iA=0;iA<5;iA++) {
    if (somethingElseIsTrue()) {
    // Breaks the inner loop iteration
    break innerloop;
  }
  }
}
  strChange: function (str) {

        for (let k of Object.keys(str)) {
            let s = '' + str[k]
            if (str.length > 7) {
                str[k] = s.slice(0, 6) + '...'
            }
        }
    },
 getNowFormatDate: function () {
        let date = new Date();
        let year = date.getFullYear();
        let month = date.getMonth() + 1;
        let day = date.getDate();
        let hour = date.getHours();
        let minute = date.getMinutes();
        let second = date.getSeconds();
        let currentdate = (year + '年' + month + '月' + day + '日 ' + hour + ':' + minute + ':' + second);
        return currentdate;
    },

JS断点调试教程!!!

上一篇 下一篇

猜你喜欢

热点阅读