js语法基础学习

JS学习

mdn官方网址 https://developer.mozilla.org/zh-CN/

内置对象

1.时间对象Date
  // 日期构造函数 Date()
    // 1 空构造函数   获取的是当前时间对象
    // var d = new Date();  
    // console.log(d);
    // console.log(d.valueOf());
    // 2 构造函数中传入 毫秒值
    // var d = new Date(1502088177998);
    // console.log(d);
    // 
    // 3 可以传入日期形式的字符串
    // var d = new Date('1988-8-8 8:8:8');
    // console.log(d);
    // console.log(d.valueOf());

    // 
    // 4 可以传入数字
    // var d = new Date(1928, 8, 8);
    // console.log(d);
    // console.log(d.valueOf());

格式化一个时间
// 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;
    // }

2. 数组对象Array

     // 判断参数arr 是否是数组对象
      // instanceof 
      // console.log(arr instanceof Array);
数组对象方法

push(参数)
pop()
shift()
unshift(参数)
reverse()
sort();
concat()
slice()
splice()
indexOf()、lastIndexOf()
every()、
filter()、
forEach()、
map()、
some()
join()

// 1 栈操作(先进后出)
    // push(参数)
    // pop()     //取出数组中的最后一项,修改length属性
// 2 队列操作(先进先出)
    // shift()   //取出数组中的第一个元素,修改length属性
    // unshift(参数)   //在数组最前面插入项,返回数组的长度
// 3 排序方法
    // reverse() //翻转数组
    // sort();   //即使是数组sort也是根据字符,从小到大排序
// 4 操作方法
	concat()  	//把参数拼接到当前数组
	slice() 	//从当前数组中截取一个新的数组,不影响原来的数组,参数start从0开始,end从1开始
	splice()	//删除或替换当前数组的某些项目,参数start, deleteCount, options(要替换的项目)
// 5 位置方法
	indexOf()、lastIndexOf()   //如果没找到返回-1
	
	  // 从前往后找元素
    // console.log(arr.indexOf('a'));
    // // 从后往前找
    // console.log(arr.lastIndexOf('a'));
    // indexOf的第二个参数 设置indexOf查找的开始位置
    
// 6 迭代方法 不会修改原数组(可选)  html5
	every()、
	filter()、
	// var newArray = arr.filter(function (item) {
    //   // item就是数组中的每一个元素
    //   return item < 2000;
    // })
    // console.log(newArray);
forEach()、
map()、
some()
// 7 方法将数组的所有元素连接到一个字符串中。
	join()     将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串
 
 1 栈操作  先进后出
    // var r = array.push(5, 6, 7);
    // // console.log(r);
    // // console.log(array);
      
    // var last = array.pop();
 // 2 队列操作(先进先出)
      // var array = [1, 2, 3];
      // array.push(4);

      // var first = array.shift();
      // console.log(first);
      // console.log(array);

      // array.unshift(0);
      // console.log(array);
sort方法
// 默认情况下的sort是对字符编码 从小到大排序
    // arr.sort();
    // console.log(arr);
把数值排序
 // function compare(a, b) {
    //   return a - b;
    // }
增加一个compare比较规则函数
    // arr.sort(compare);
    // console.log(arr);
    
常用写法
    // arr.sort(function (a, b) {
    //   return b - a;
    // })
// 清空数组
    // arr = [];

3.字符串

    // // 把基本类型变成基本包装类型  会创建一个对应的临时对象
    // var _s1 = new String('abc');
    // var len = _s1.length;
    // _s1 = null;  // 销毁对象

字符串基本特点
每次赋值内存指向另一个内存地址

字符串方法

charAt()
concat()
substr()
indexOf()
trim()
to(Locale)UpperCase() //转换大写
to(Locale)LowerCase() //转换小写
search()
replace()
split()

// 1 字符方法
    // charAt()      //获取指定位置处字符
    // charCodeAt()    //获取指定位置处字符的ASCII码
    // str[0]      //HTML5,IE8+支持 和charAt()等效
    // 
    // var s = 'abcdef';
    // console.log(s.charAt(0));
    // for (var i = 0; i < s.length; i++) {
    //   console.log(s.charAt(i));
    // }
    // 
    // console.log(s.charCodeAt(0));
    // 
    
    // for (var i = 0; i < s.length; i++) {
    //   console.log(s[i]);
    // }


  // // 2 字符串操作方法
    // concat()      //拼接字符串,等效于+,+更常用
    // slice()       //从start位置开始,截取到end位置,end取不到
    // substring()   //从start位置开始,截取到end位置,  end取不到
    // substr()      //从start位置开始,截取length个字符
 常用   substr() 

// var s = ‘我爱中华人民共和国’;
// // 第一个参数,截取的开始位置
// // 第二个参数,截取的长度
// var newStr = s.substr(2, 2);
// console.log(newStr);

    // // 3 位置方法
    // indexOf()     //返回指定内容在元字符串中的位置

// var index = -1;
    // do {
    //   index = s.indexOf('o', index + 1);
    //   if (index !== -1) {
    //     console.log(index);
    //   }
    // } while (index !== -1);
    // lastIndexOf()   //从后往前找,只找第一个匹配的
    
  // // 4 去除空白   
    // trim()      //只能去除字符串前后的空白
    
 // // 5 大小写转换方法
    // to(Locale)UpperCase()   //转换大写
    // to(Locale)LowerCase()   //转换小写
    
 // // 6 其它
    // search() 

    // replace()   替换对应的字符  两个参数

// var index = -1;
// do {
// index = s.indexOf(‘o’, index + 1);

//   if (index !== -1) {
//     // 替换
//     s = s.replace('o', '!');
//   }
// } while(index !== -1);
// console.log(s);
    // split()   指定的分隔符字符串将一个String对象分割成子字符串数组
  // var s = "   abc       xyz  a    123   ";
  // var arr = s.split(" ");
  // console.log(arr.join(""));

// 判断一个字符串中出现次数最多的字符,统计这个次数
// abcoefoxyozzopp
//
// 出现次数最多的字符 和 此字符出现的次数
//
// 1 统计每一个字符出现的次数

  //
  // 要求的出现次数最多的字符
  // var s = 'abcoefoxyozzopp';
  // var ch;
  // // 此字符出现的次数
  // var num;
  // // 记录字符串中每一个字符出现的次数
  // var o = {};

  // for (var i = 0; i < s.length; i++) {
  //   var item = s.charAt(i);
  //   if (o[item]) {
  //     // 已经有该属性,+1
  //     o[item]++;
  //   } else {
  //     // 对象中没有该属性
  //     o[item] = 1;
  //   }
  // }

  //  // 2 求最大值 并且找到次数最多的字符
  //  // 假设最大值是1
  //  num = 1;
  //  for (var key in o) {
  //    if (num < o[key]) {
  //     // 最多的次数
  //      num = o[key];
  //      // 次数最多的字符
  //      ch = key;
  //    }
  //  }

  //  console.log(num);
  //  console.log(ch);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值