js 积累

23、

22、javascript:d1=+new date()

js在某个数据类型前使用‘+’,这个操作目的是为了将该数据类型转换为Number类型,如果转换失败,则返回NaN;

21、JS 中的return false的作用

在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.
Return False 就相当于终止符,终止默认的事件行为,反之,Return True 就相当于执行符,执行终止默认的事件行为。
在js中return false的作用一般是用来取消默认动作的。比如你单击一个链接除了触发你的
onclick时间(如果你指定的话)以外还要触发一个默认事件就是执行页面的跳转。所以如果
你想取消对象的默认动作就可以return false。
 

20、弹窗宽高 

var winWidth = $(window).width()*0.9;

var winHeight = $(window).height()*0.9;

19、编写一个方法去掉一个数组的重复元素

function clear(arr) {

  // 1 如何获取数组中每一个元素出现的次数

  var o = {}; // 记录数组中元素出现的次数

  for (var i = 0; i < arr.length; i++) {

    var item = arr[i]; // 数组中的每一个元素

    // o[item] = 1;

    // 判断o对象是否有当前遍历到的属性

    if (o[item]) {

      // 如果o[item] 存在,说明次数不为1

      o[item]++;

    } else {

      // 如果o[item] 不存在,说明是第一次出现

      o[item] = 1;

    }

  }

  // console.log(o);

  // 2 生成一个新的数组,存储不重复的元素

  var newArray = [];

  // 遍历对象o中的所有属性

  for (var key in o) {

    // 判断o对象中当前属性的值是否为 1  如果为1 说明不重复直接放到新数组中

    if (o[key] === 1) {

      newArray.push(key);

    } else {

      // o对象中当前属性 次数不为1 ,说明有重复的,如果有重复的话,只存储一次

      // 判断当前的newArray数组中是否已经有该元素  

      if (newArray.indexOf(key) === -1) {

        newArray.push(key);

      }

    }

  }

  return newArray;

var array = ['c', 'a', 'z', 'a', 'x', 'a'];

var newArray = clear(array);

console.log(newArray);

18、  // ['c', 'a', 'z', 'a', 'x', 'a']找到数组中每一个a出现的位置

    // var arr = ['c', 'a', 'z', 'a', 'x', 'a'];

    // 从前往后找元素

    // console.log(arr.indexOf('a'));

    // // 从后往前找

    // console.log(arr.lastIndexOf('a'));

    // indexOf的第二个参数 设置indexOf查找的开始位置

    // console.log(arr.indexOf('a', 2));

    // 如果没有找到元素 indexOf  会返回-1

    // 

    // while   do...while

    // var index = -1;

    // do {

    //   index = arr.indexOf('a', index + 1);

    //   if (index !== -1) {

    //     console.log(index);

    //   }

    // } while (index !== -1);

17、// 工资的数组[1500, 1200, 2000, 2100, 1800],把工资超过2000的删除

    // var arr = [1500, 1200, 2000, 2100, 1800];

    // var newArray = arr.filter(function (item) {

    //   // item就是数组中的每一个元素

    //   return item < 2000;

    // })

    // console.log(newArray);

16、 // 将一个字符串数组输出为|分割的形式,比如“刘备|张飞|关羽”。使用两种方式实现

    // var arr = ['刘备', '张飞', '关羽'];

    // // arr.toString();  ->  刘备,张飞,关羽

    // console.log(arr.join('|'));

15、// 函数如何返回多个值

    // function fn() {

    //   return {

    //     year: 1,

    //     day: 2,

    //     hour: 3

    //   };

    // }

14、 // 写一个函数,格式化日期对象,返回yyyy-MM-dd HH:mm:ss的形式

    // function formatDate(date) {

    //   // 判断参数date是否是日期对象

    //   // instanceof  instance 实例(对象)   of 的

    //   // console.log(date instanceof Date);

    //   if (!(date instanceof Date)) {

    //     console.error('date不是日期对象')

    //     return;

    //   }

    //   var year = date.getFullYear(),

    //       month = date.getMonth() + 1,

    //       day = date.getDate(),

    //       hour = date.getHours(),

    //       minute = date.getMinutes(),

    //       second = date.getSeconds();

    //   // if (month < 10) {

    //   //   month = '0' + month;

    //   // }

    //   month = month < 10 ? '0' + month : month;

    //   day = day < 10 ? '0' + day : day;

    //   hour = hour < 10 ? '0' + hour : hour;

    //   minute = minute < 10 ? '0' + minute : minute;

    //   second = second < 10 ? '0' + second : second;

    //   return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;

    // }

13、 // 获取日期中的指定部分

    var  d = new Date();

    console.log(d.getFullYear());

    // !--------注意:月份是从0开始的-------------

    console.log(d.getMonth() + 1);

    console.log(d.getDate());

    console.log(d.getHours());

    console.log(d.getMinutes());

    console.log(d.getSeconds());

12、// Math对象和Date对象的区别

    // Math 不是一个构造函数,里面提供是静态成员

    // var MyMath = {

    //   PI: 3.14,

    //   max: function () {

    //   }

    // }

    // 静态成员

    // MyMath.PI

    // MyMath.max();

    // Date 是一个构造函数,首先要通过new Date() 来创建日期实例(对象),实例成员

    // var d = new Date();

    // 如何获取日期对象的毫秒值

    // var d = new Date();

    // // 获取日期对象的毫秒值  不用我们调用

    // // console.log(d.valueOf());

    // // 和valueOf的作用是一样的

    // console.log(d.getTime());

    // console.log(+ d);

11、内置对象

    // JavaScript 组成: ECMAScript BOM  DOM

    // ECMAScript:变量 注释 数据类型 类型转换 操作符 流程控制语句(判断和循环) 数组  对象  构造函数   内置对象

    // JavaScript中的对象有三种:自定义对象、内置对象、浏览器对象

    // ECMAScript中的对象: 自定义对象、内置对象

    // 

    // 内置对象:Math/Array/Date...

    // 

    // 最常用的属性和方法

    // 

    // 查文档:MDN

10、  // 生成 min 到 max 之间的随机数

    var min = 10;

    var max = 100;

    console.log( parseInt(Math.random() * (max - min) + min));

9、// new 的执行过程

    // 1 在内存中创建了一个空的对象

    // 2 让构造函数中的this指向刚刚创建的对象

    // 3 执行构造函数,在构造函数中设置属性和方法(当然也可以做其它事情)

    // 4 返回了当前对象

8、对象

    var dog = {

      name: 'puppy',

      type: '中华田园犬',

      age: 2,

      color: 'yellow',

      bark: function () {

        // 在方法中如何使用属性的值

        // this 在方法中代表的是当前对象 dog

        console.log(this.name + '汪汪汪');

      },

      eat: function () {

        console.log(this.name + '啃骨头');

      }

    }

    // 如何访问属性   对象.属性名

    console.log(dog.name);

    console.log(dog.type);

    // 如何访问方法   对象.方法名

    dog.bark();

    dog.bark();

    dog.eat();

7、 // 预解析

    // 在预解析的过程中如果函数和变量的名字相同,此时函数优先

    // var a;

    // function a() {

    //   console.log('aaaaa');

    // }

    // console.log(a);

    // a = 1;

    // console.log(a);

6、 // 输入一个年份,判断是否是闰年[闰年:能被4整数并且不能被100整数,或者能被400整数]

    // function isRun(year) {

    //   var result = false;

    //   if ((year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0)) {

    //     result = true;

    //   } 

    //   return result;

    // }

    // console.log(isRun(2016));

5、 // 对数组排序,从小到大  -- 冒泡排序

    // function sort(array) {

    //   // 外层循环 控制趟数

    //   for (var i = 0; i < array.length - 1; i++) {

    //     // 假设排好序了

    //     var isSort = true;

    //     // 内层循环 控制比较的次数

    //     for (var j = 0; j < array.length - 1 - i; j++) {

    //       if (array[j] > array[j + 1]) {

    //         isSort = false;

    //         // 交换位置

    //         var tmp = array[j];

    //         array[j] = array[j + 1];

    //         array[j + 1] = tmp;

    //       }

    //     }

    //     // 判断是否排好了

    //     if (isSort) {

    //       break;

    //     }

    //   }

    //   return array;

    // } 

    // var array = [34, 12, 88, 20, 30];

    // console.log(sort(array));

4、arguments    ,  通过arguments 获取函数调用的时候的实参,   object  类型

// 求任意个数的和

    function getSum() {

      var sum = 0;

      for (var i = 0; i < arguments.length; i++) {

        sum += arguments[i];

      }

      return sum;

    }

    var sum = getSum(5, 1, 3, 4);

    console.log(sum);

3、 // 求整数1~100的累加值,但要求跳过所有个位为3的数

    // var sum = 0;

    // for (var i = 1; i <= 100; i++) {

    //   if (i % 10 === 3) {

    //     console.log(i);

    //   } else {

    //     sum += i;

    //   }

    // }

    // console.log(sum);

2、// 求整数50~200的第一个能被7整除的数

    // for (var i = 50; i <= 200; i++) {

    //   if (i % 7 === 0) {

    //     console.log(i);

    //     break;

    //   }

    // }

1、do {

      var msg = prompt('你到底爱不爱我?', '请输入yes/no');

    } while (msg !== 'yes');

    console.log('亲亲我的宝贝');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值