js基础(内置对象)

 

如果直接使用构造函数创建一个Date对象,则会封装成当前代码的执行时间

创建一个指定时间的Date对象,需要在构造函数中传递一个表示时间的字符串作为参数  日期格式:月份/日/年   时:分:秒

<script type="text/javascript">

var d = new Date();
var d2 = new Date("5/09/2018 11:10:30");
/*
 * getDate()
 *        - 获取当前日期对象是几日
 */
console.log("当前时间的日期是:"+d.getDate());
console.log("指定时间的日期是:"+d2.getDate());

/*
 * getDay()
 *        - 获取当前日期对象时周几
 *        - 会返回一个0-6的值
 *                  0 表示周日
 *                  1表示周一
 *                  。。。
 */
console.log("当前时间是周:"+d.getDay());
console.log("指定时间是周:"+d2.getDay());

/*
 * getMonth()
 * d2 = new Date("12/18/2011 11:10:30");
 * - 获取当前时间对象的月份
 *        - 会返回一个0-11的值
 *                  0 表示1月
 *                  1 表示2月
 *                  11 表示12月
 */
console.log("当前时间的月份是:"+d.getMonth());
console.log("指定时间的月份是:"+d2.getMonth());

/*
* getFullYear()
*        - 获取当前日期对象的年份
*/
console.log("当前时间的年数是:"+d.getFullYear());
console.log("指定时间的年数是:"+d2.getFullYear());

/*
 * getTime()
 *        - 获取当前日期对象的时间戳
 *        - 时间戳,指的是从格林威治标准时间的1970年1月1日,0时0分0秒
 *                  到当前日期所花费的毫秒数(1秒 = 1000毫秒)
 *        - 计算机底层在保存时间时使用都是时间戳
 */
console.log("当前时间是:"+d.getTime());
console.log("指定时间是:"+d2.getTime());

//获取当前的时间戳
var start = Date.now();
console.log("当前时间是:"+ start);
</script>

 

Math对象

/*
 * abs()可以用来计算一个数的绝对值
 */
console.log(Math.abs(-1));
/*
 * Math.ceil()
 *        - 可以对一个数进行向上取整,小数位只有有值就自动进1
 * Math.floor()
 *        - 可以对一个数进行向下取整,小数部分会被舍掉
 * Math.round()
 *        - 可以对一个数进行四舍五入取整
 */
console.log(Math.ceil(1.1));
console.log(Math.floor(1.99));
console.log(Math.round(1.4));
/*
* Math.random()
*        - 可以用来生成一个0-1之间的随机数
          *        - 生成一个0-10的随机数
          *        - 生成一个0-x之间的随机数
          *                  Math.round(Math.random()*x)
* 
*        - 生成一个1-10
          *        - 生成一个x-y之间的随机数
          *                  Math.round(Math.random()*(y-x)+x)
*/
for(var i=0 ; i<100 ; i++){
          //console.log(Math.round(Math.random()*10));
          //console.log(Math.round(Math.random()*20));
          
          //console.log(Math.round(Math.random()*9)+1);
          //console.log(Math.round(Math.random()*8)+2);
          
          //生成1-6之间的随机数
          //console.log(Math.round(Math.random()*5+1));
}
/*
 * max() 可以获取多个数中的最大值
 * min() 可以获取多个数中的最小值
 */
var max = Math.max(10,45,30,100);
var min = Math.min(10,45,30,100);
console.log(min);
console.log(max);
/*
* Math.pow(x,y)
*        返回x的y次幂
*/
console.log(Math.pow(12,3));
/*
* Math.sqrt()
*  用于对一个数进行开方运算
*/
console.log(Math.sqrt(2));

 

包装类:js提供了三个包装类:String、Number、Boolean,通过者三个包装类可以将基本类转换成对象

console.log(typeof new Number(2324));//object
console.log(typeof new Boolean(true));//object

基本类型:String、Number、Boolean、Null、Undefined

引用类型:Object

在实际中,一般不使用基本数据类型的对象,如果使用,可能带来一些不可预期的后果

var number = new Number(1);
number.str = "success";
console.log(number);//Number {1, str: "success"}
var bool1 = new Boolean(true);
var bool2 = new Boolean(true);
console.log(bool2 == bool1);//false  两个不同的对象
var b = new Boolean(false);
if(b){
         console.log("条件是真值"); //这里会运行
}
/*
* 方法和属性之能添加给对象,不能添加给基本数据类型
*        当我们对一些基本数据类型的值去调用属性和方法时,
*                  浏览器会临时使用包装类将其转换为对象,然后在调用对象的属性和方法
*                  调用完以后,在将其转换为基本数据类型
*/
var s = 123;
s = s.toString();
s.hello = "你好";

console.log(s.hello);  //undefined
console.log(typeof s); //string

 

 

 

字符串在底层是字符数组的形式进行保存

/*
 * length属性
 *        - 可以用来获取字符串的长度
 */
 var str = "success";
console.log(str.length);
console.log(str[5]);
/*
 * charAt()
 *        - 可以返回字符串中指定位置的字符
 *        - 根据索引获取指定的字符       
 */
var result = str.charAt(4);
console.log(result); //e
/*
 * charCodeAt()
 *        - 获取指定位置字符的字符编码(Unicode编码)
 */
console.log(str.charCodeAt(0));
/*
* String.formCharCode()
*        - 可以根据字符编码去获取字符
*/
console.log(String.fromCharCode(0x2692));
/*
 * concat()
 *        - 可以用来连接两个或多个字符串
 *        - 作用和+一样
 */
 console.log(str.concat("hello","world"));//successhelloworld
 /*
 * indexof()
 *        - 该方法可以检索一个字符串中是否含有指定内容
 *        - 如果字符串中含有该内容,则会返回其第一次出现的索引
 *                  如果没有找到指定的内容,则返回-1
 *        - 可以指定一个第二个参数,指定开始查找的位置
 * 
 * lastIndexOf();
 *        - 该方法的用法和indexOf()一样,
 *                  不同的是indexOf是从前往后找,
 *                  而lastIndexOf是从后往前找
 *        - 也可以指定开始查找的位置
 */
console.log(str.indexOf("e",1));     //4
console.log(str.lastIndexOf("s",7)); //6
/*
 * slice()
 *        - 可以从字符串中截取指定的内容
 *        - 不会影响原字符串,而是将截取到内容返回
 *        - 参数:
 *                  第一个,开始位置的索引(包括开始位置)
 *                  第二个,结束位置的索引(不包括结束位置)
 *                            - 如果省略第二个参数,则会截取到后边所有的
 *                  - 也可以传递一个负数作为参数,负数的话将会从后边计算
 */
str = "abcdefghijk";
result = str.slice(1,4);
console.log(result);       //bcd
result = str.slice(1,-1);  //bcdefghij
console.log(result);
/*
 * substring()
 *        - 可以用来截取一个字符串,可以slice()类似
 *        - 参数:
 *                  - 第一个:开始截取位置的索引(包括开始位置)
 *                  - 第二个:结束位置的索引(不包括结束位置)
 *                  - 不同的是这个方法不能接受负值作为参数,
 *                            如果传递了一个负值,则默认使用0
 *                  - 而且他还自动调整参数的位置,如果第二个参数小于第一个,则自动交换
 */

result = str.substring(0,1);
console.log(result);    //a
/*
 * substr()
 *        - 用来截取字符串
 *        - 参数:
 *                  1.截取开始位置的索引
 *                  2.截取的长度
 */
str = "abcdefg";
result = str.substr(3,2);
console.log(result);   //de
/*
* split()
*        - 可以将一个字符串拆分为一个数组
*        - 参数:
*                  -需要一个字符串作为参数,将会根据该字符串去拆分数组
*/
str = "abcbcdefghij";
result = str.split("d");
console.log(result);  //["abcbc", "efghij"]
/*
* 如果传递一个空串作为参数,则会将每个字符都拆分为数组中的一个元素
*/
result = str.split("");
console.log(result);  //["a", "b", "c", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
                           
/*
* toUpperCase()
*        - 将一个字符串转换为大写并返回
*/
str = "abcdefg"; 
result = str.toUpperCase();
console.log(result);

/*
* toLowerCase()
*        -将一个字符串转换为小写并返回
*/
str = "ABCDEFG";
result = str.toLowerCase();
console.log(result);

 

 

 

          

posted @ 2018-05-10 14:15  coderlzb  阅读(162)  评论(0编辑  收藏  举报