js笔记(view:398)

1.日期格式处理

var data="2017-11-02";
var date_fix=Number(data.replace(/-/g,""));

2.获取元素索引

<select id="mySelect" v-model="checkName" @change="getsubproject(checkName)">
   <option value="">请选择</option>
   <option v-for="item in checkNameOption">{{item}}</option>
</select>

var x=document.getElementById("mySelect")
alert(x.selectedIndex)

3.获取元素

var x=document.getElementById("ele");
var x=document.getElementsByClassName("ele");
var x=document.getElementsByTagName("p");
var x=document.querySelector(".ele");  //返回匹配指定选择器的第一个元素
var x=document.querySelectorAll(".ele");  //返回所有的元素
x.innerHTML;
x.value;
x.selectedIndex;

4.保留两位小数

var a = 9.39393; 
a.toFixed(2);

5.map生成新对象数组

let data1=[];
data2.map(function(item){
    let obj={};
    obj.diseaseName=item.diseaseName;
    obj.startTime=item.startTime;
    obj.endTime=item.endTime;
    data2.push(obj);  
});
var data = [[10, 16, 3, 'A'], [16, 18, 15, 'B'], [18, 26, 12, 'C'], [26, 32, 22, 'D'], [32, 56, 7, 'E'], [56, 62, 17, 'F']];
var colorList=['#4f81bd', '#c0504d', '#9bbb59', '#604a7b', '#948a54', '#e46c0b'];
data = data.map(function (item, index) {
    return {
        value: item,
        itemStyle: {
            normal: {
                color: colorList[index]
            }
        }
    };
});

相关函数:reduce()

6.+new Date是什么意思?
JavaScript中可以在某个元素前使用 ‘+’ 号,这个操作是将该元素转换秤Number类型,如果转换失败,那么将得到 NaN。
所以 +new Date 将会调用 Date.prototype 上的 valueOf 方法,而根据 MDN ,Date.prototype.value 方法等同于 Date.prototype.getTime() 。
所以下列代码效果相同:

    console.log(+new Date);  
    console.log(new Date().getTime());  
    console.log(new Date().valueOf());  
    console.log(new Date() * 1);  

7.日期加一天

function formatDate(time) {
 var year = time.getFullYear();
 var month = time.getMonth() + 1;
 var date = time.getDate();
  return year + "-" + month + "-" + date;
}
//格式化函数,将毫秒转化为年月日
var startTime=new Date('2017-11-27');
endTime=startTime.setDate(startTime.getDate()+1);   //天数加1
endTime=new Date(endTime)                           //starttime需要转化为时间对象,结果为毫秒数
endTime=formatDate(endTime);                        //调用函数转化为年月日

8.localStorage和sessionStorage

sessionStorage.setItem("my_sessionStorage", "sessiontesttext");
sessionStorage.my_sessionStorage123='sessiontesttext123';

localStorage.setItem("my_localStorage", "localtext");
localStorage.my_localStorage123='localtext123';
localStorage.removeItem('my_localStorage');

localStorage.clear();   //清空全部localStorage

9.concat() 方法用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

arrayObject.concat(arrayX,arrayX,......,arrayX)

10.option获取val及text

var myselect=document.getElementById('test');  //拿到select对象
var index=myselect.selectedIndex;              //拿到选中项的索引
var val=myselect.options[index].value;         //选中项options的value
var text=myselect.options[index].text;         //拿到选中项options的text

jquery实现

var options=$('#test option:selected');        //获取选中的项
options.text();                                //拿到选中项的文本
options.val();                                 //拿到选中项的值
$('#test).val()                                //拿到选中项的值,同上面方法
$('#test).get(0).selectedIndex;                //选中项的索引

11.splice()和slice()
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

arrayObject.splice(index,howmany,item1,.....,itemX)

slice() 方法可从已有的数组中返回选定的元素。

arrayObject.slice(start,end)

12.selectionStart获取textarea中光标位置

13.刷新location.reload()与后退onclick="window.history.go(-1)"

14.函数中的arguments

function add(){
  var sum=0;
  for(var i=0;i<arguments.length;i++){
    sum+=arguments[i];
  };
  return sum;
}

add(11,2,3,2,100);

15.疑惑:apply,call,