欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js — 对象

程序员文章站 2022-10-04 12:31:10
[TOC] 1. 字符串和数值之间转换 1.字符串转数值 2.数值转字符串 2. 对象(object) 2.1 对象的创建方式 1.使用对象 字面量 创建方式。 对象字面量是对象定义的一种简写形式,目的在于简化创建包含大量属性的对象的过程。 2.使用new操作符后跟Object 构造函数 2.2 访 ......

1. 字符串和数值之间转换

1.字符串转数值

var str = '123.0000111';
console.log(parseint(str));  //转整数
console.log(typeof parseint(str));
console.log(parsefloat(str)); //转浮点型
console.log(typeof parsefloat(str));
console.log(number(str));

2.数值转字符串

var num  = 1233.006;
// 强制类型转换
console.log(string(num));
console.log(num.tostring());
// 隐式转换
console.log(''.concat(num));
// tofixed()方法会按照指定的小数位返回数值的字符串 四舍五入
console.log(num.tofixed(2));

2. 对象(object)

2.1 对象的创建方式

1.使用对象字面量创建方式。

对象字面量是对象定义的一种简写形式,目的在于简化创建包含大量属性的对象的过程。

var obj = {};
obj.name = 'mjj';
obj.fav = function(){
    //obj
    console.log(this); // this指向的是当前的对象obj
}
obj.fav();

 //点语法 set 和get
console.log(obj.name);  //给obj.name重新赋值 或 获取obj.name值

2.使用new操作符后跟object构造函数

var obj2 = new object();
console.log(obj2);
obj2.name = 'wusir';
new array();  //构造数组
new string();  //构造字符串
new number();  //构造数字
//es5中 使用构造函数来创建对象
function point(x, y) {
  this.x = x;
  this.y = y;
}

point.prototype.tostring = function () {
  return '(' + this.x + ', ' + this.y + ')';
};

var p = new point(1, 2);
//es6用class来创建对象
class person{
    constructor(x,y){
        this.x = x;
        this.y = y
    }
    tostring(){
        
    }
    
}
var p = new person();

2.2 访问属性的方法

1.点语法(推荐使用)

var person = {
    "name" : 'jack';
    "age" : 28,
    "fav" : function(){
        console.log('泡妹子');
    }
}
person.name; //jack
person.fav();//泡妹子

2.括号表示法

person['name']; //相当于person.name;

3. 日期对象

3.1 date对象的方法

要创建一个日期对象,使用 new 操作符和 date 构造函数即可

var date = new date();
    console.log(date);  //打印date对象
    console.log(date()); //获取本地当前时间的日期和时间
    console.log(date.getdate());  //获取本地当前时间的日期(1-31)
    console.log(date.getmonth()+1); //获取本地当前时间的月份(0-11)
    console.log(date.getfullyear()); //获取本地当前时间的年份(4位数字)
    console.log(date.getday());  //获取本地当前时间是星期几(0-6)
    console.log(date.gethours());  //获取本地当前时间小时数(0-23)
    console.log(date.getminutes()); //获取本地当前时间分钟(0-59)
    console.log(date.getseconds()); //获取本地当前时间秒数(0-59)
var date = new date();
var weeks = ['星期天','星期一','星期二','星期三','星期四','星期五','星期六'];
console.log(weeks[date.getday()]);
var day = weeks[date.getday()];
document.write(`<a href="#">${day}</a>`);

3.2 日期格式化方法

date 类型还有一些专门用于将日期格式化为字符串的方法,这些方法如下。

  • tolocalestring()——以特定于实现的格式显示年、月、日和时、分、秒

    var date = new date();console.log(date.tolocalestring());  //"2019/6/4 下午4:00:32"
  • todatestring()——以特定于实现的格式显示星期几、月、日和年;

    var date = new date();
    console.log(date.todatestring()); //"tue jun 04 2019"
  • totimestring()——以特定于实现的格式显示时、分、秒和时区;

    var date = new date();
    console.log(date.totimestring()); //"16:00:32 gmt+0800 (中国标准时间)"
  • tolocaledatestring()——以特定于地区的格式显示年、月、日;

    var date = new date();
    console.log(date.tolocaledatestring()); //"2019/6/4"
  • tolocaletimestring()——以特定于实现的格式显示时、分、秒;

    var date = new date();
    console.log(date.tolocaletimestring());  //"下午4:00:32"
  • toutcstring()——以特定于实现的格式完整的 utc 日期。

    var date = new date();
    console.log(date.toutcstring());  //"tue, 04 jun 2019 08:00:32 gmt"

3.3 数字时钟案例

var timeobj = document.getelementbyid('time');
console.log(time);

function getnowtime() {
    var time = new date();
    var hour = time.gethours();
    var minute = time.getminutes();
    var second = time.getseconds();
    var temp = "" + ((hour > 12) ? hour - 12 : hour);
    if (hour == 0) {
        temp = "12";
    }
    temp += ((minute < 10) ? ":0" : ":") + minute;
    temp += ((second < 10) ? ":0" : ":") + second;
    temp += (hour >= 12) ? " p.m." : " a.m.";
    timeobj.innertext = temp;
}

setinterval(getnowtime, 20)

4. 数学math对象

4.1 math 对象的属性

math 对象包含的属性大都是数学计算中可能会用到的一些特殊值。下表列出了这些属性

属性 说明
math.e 自然对数的底数,即常量e的值
math.ln10 10的自然对数 ln(10)
math.ln2 2的自然对数
math.log2e 以2为底e的对数
math.log10e 以10为底e的对数
math.pi π的值
math.sqrt1_2 1/2的平方根(即2的平方根的倒数)
math.sqrt2 2的平方根

4.2 min()和 max()方法

min() 方法用于确定一组数值中的最小值

max() 方法用于确定一组数值中的最大值

var max = math.max(3, 54, 32, 16);
alert(max);    //54
var min = math.min(3, 54, 32, 16);
alert(min);    //3
// 可以用于找到数组中最大或最小值,使用apply()方法
var values = [1,2,36,23,43,3,41];
var max = math.max.apply(null, values);
console.log(max);

4.3 舍入方法

将小数值舍入为整数的几个方法:

  • math.ceil() 执行向上舍入,即它总是将数值向上舍入为最接近的整数;
  • math.floor() 行向下舍入,即它总是将数值向下舍入为最接近的整数;
  • math.round() 执行标准舍入,即它总是将数值四舍五入为最接近的整数
var num = 25.7;
var num2 = 25.2;
alert(math.ceil(num));//26  天花板函数
alert(math.floor(num));//25  地板函数
alert(math.round(num));//26
alert(math.round(num2));//25

4.4 random()方法

math.random() 方法返回大于等于 0 小于 1 的一个随机数(获取0到1之间的数)

// 获取min到max的范围的随机整数
function random(min,max) {
    return min+math.floor(math.random()*(max-min))
}
console.log(random(100, 400));

5. 流程控制

5.1 if条件判断语句

var score = 100;
if(score > 80){
   console.log('可以吃鸡了');
}else if(){
    console.log('在家呆着');
}else if{

}else{
    
}

5.2 三元运算符

三元运算符它解决了像if..else块较少的代码。如果你只有两个通过true/false条件选择。语法如下:

(codition) ? run this code : run this code instead;

让我们看一下极简的例子:

var isresult  =  1 > 2 '真的' : '假的' ;

我们知道1是不大于2的,它返回了假的。所以isresult的值为'假的'

5.3 switch语句

var weather = prompt('请输入今天的天气');
switch (weather) {
    case '晴天':
        console.log('可以去打篮球');
        break;
    case '下雨':
        console.log('可以睡觉');
        break;
    default:
        console.log('学习');
        break;
}

4.== 与 === 的区别

var a = 2;
var b = '2';
console.log(a == b);//比较的是值,
console.log(a === b); //比较是值和数据类型

6. 循环

1.for循环

var arr = [8,9,0];
//1.初始化循环变量  2.循环条件  3.更新循环变量
for(var i = 0;i < arr.length; i++){
    console.log(arr[i]);
}

2.while循环

// 打印1-100之间的数字
var a = 1;
while(a <= 100){
    console.log(a);
    a+=1;
}