js — 对象
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;
}
js — 对象的更多相关文章
- JS对象继承篇
JS对象继承篇 ECMAScript只支持实现继承,而且其实现继承主要是依靠原型链来实现的 原型链 其基本思路是利用原型让一个引用类型继承另一个引用类型的属性和方法 function Person() ...
- JS 对象封装的常用方式
JS是一门面向对象语言,其对象是用prototype属性来模拟的,下面,来看看如何封装JS对象. 常规封装 function Person (name,age,sex){ this.name = na ...
- JSON字符串和JS对象之间的转换
JSON字符串和JS对象之间的转换 1 json字符串转换为js对象 1.1 标准json格式字符串转换为Js对象 JSON字符串 str JSON.parse(str) eval(str) eva ...
- js 对象的_proto_
js 对象呢,有个属性叫_proto_,以前没听说过,也没关注,最近看这个原型,就被迫知道了这个东西,js 这里面的东西,真是规定的很奇怪,具体为啥也不知道,就测试发现的,对象的_proto_属性,和 ...
- js对象/数组深度复制
今天碰到个问题,js对象.数组深度复制:之前有见过类似的,不过没有实现函数复制,今晚想了一下,实现代码如下: function clone(obj) { var a; if(obj instanceo ...
- js对象的深度克隆
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js对象详解
js自定义对象 一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在J ...
- js对象常用2中构造方法
//js 对象的构造方法通常有2中情况: //第一种是通过json对象构造 var persion={ name:"孙悟空", age:40, eat:function () { ...
- JS对象复制
在JavaScript很多人复制一个对象的时候都是直接用"=",因为大家都觉得脚本语言是没有指针.引用.地址之类的,所以直接用"="就可以把一个对象复制给另外一 ...
- js对象私有变量公有变量问题
0 js对象私有变量公有变量问题5 小弟初学JS面向对象编程 现有一问题 请教各位大虾: Person=function (){ //私有变量定义 var name; vae age; var Ale ...
随机推荐
- ajax默认是异步的
jquery中的ajax 默认情况下为异步请求,即 async:true,可以通过设置参数 asycn:false 到使其同步 $.ajax({ url: 'www.test.com/test/tes ...
- spring boot + vue 前后分离实现登录功能(二)
安装 axios 进行路由转发 npm install axios --save-dev 或者 cnpm install axios --save-dev 修改 Main.js 新增 var axio ...
- js vue --- T Z 去掉 T Z 时间
export const formatDate = (timestamp) => { return timestamp.replace(/T/g,' ').replace(/Z/g,'') } ...
- PHP 美化输出数组
var_export — 输出或返回一个变量的字符串表示 此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码. 您可以通过将函数的 ...
- 002-创建型-02-抽象工厂模式(Abstract Factory)
一.概述 抽象工厂模式提供同一个创建一系列相关或相互依赖对象的接口,无须指定它们具体的类 抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态.抽象工厂模式是指当有多个抽象角色时,使用的一 ...
- ALV显示金额字段值扩大100倍
内表数据 物料 库位 期末庫存金額F0D7004DSA 1PYF 701410.944F0D7004DSA 1SNT ...
- C#泛型学习
什么是泛型 泛型是程序设计语言的一种特性.允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明.各种程序设计语言和其编译器.运行环境对泛型的支持均不一样.将类型参数 ...
- MySQL安装时出现Apply Security Settings错误的解决办法(转)
最近在学习MySQL时,下载了MySQL5.5版本的安装包,在配置向导的最后的页面却出现了Apply Security Settings的错误.第一次安装时比较顺利,中途卸载了一下,结果第二次安装的时 ...
- 小程序 实现fadeIn 渐变的效果
const winHeight = wx.getSystemInfoSync().windowHeight Page({ data: { logs: [] }, onLoad: function () ...
- 极客时间-左耳听风-程序员攻略-UI/UX设计
程序员练级攻略:UI/UX设计 学习设计新手, 7 steps to become a UI/UX designer 学习设计的一些原则和套路,如配色.平衡.排版.一致性等. 用户体验的 4D 步骤- ...