对象是一组无序的相关'属性'和'方法'的集合,所有的事物都是对象,例如字符串、数值、数组、函数等
'属性':事物的特征,在对象中用属性来表示(常用名词)
'方法':事物的行为,在对象中用方法来表示(常用动词)
使用对象的好处:使用对象可以使我们的表达结构更清晰,更强大
var obj={};//创建了一个空的对象
var obj = {
uname: '张三丰',
age: 18,
sex: '男',
sayHi: function () {
console.log('hi~');
}
}
使用对象
1.调用对象的属性: 对象名.属性名
console.log(obj.uname);
//2.调用属性的另一方法: 对象名['属性名']
console.log(obj['age']);
//3.调用对象的方法sayHi: 对象名.方法名
obj.sayHi();
var obj = new Object();//创建一个空对象
obj.uname = '张三丰';
obj.age = 18;
obj.sex = '男';
obj.sayHi = function () {
console.log('hi~');
}
//使用对象
//1.调用对象的属性: 对象名.属性名
console.log(obj.uname);
//2.调用属性的另一方法: 对象名['属性名']
console.log(obj['age']);
//3.调用对象的方法sayHi: 对象名.方法名
obj.sayHi();
function 构造函数名(){
this.属性=值;
this.方法=function(){}
}
new 构造函数名();
eg:
function Star(uname, age, sex) {
this.name = uname;
this.age = age;
this.sex = sex;
this.sing = function (sang) {
console.log(sang);
}
}
var ldh = new Star('刘德华', 18, '男');//调用函数返回的是一个对象
//console.log(typeof ldh);
console.log(ldh.name);
console.log(ldh['sex']);
ldh.sing('冰雨');
var zxy = new Star('张学友', 19, '男');
console.log(zxy.name);
//1.构造函数首字母大写
//2.构造函数不需要return,就可以返回结果
//3.我们调用构造函数,必须要用new
//4.我们只要new Star() 调用函数就创建一个对象
var arr=[43,4,5,6,7,12];
for(var key in arr){//for in遍历数组得到下标为字符串
//console.log(typeof key);
console.log(arr[key]);
}
console.log(this);
unction fn() {//fn保存在window变量对象中
console.log(this);
} fn();
document.onclick=function(){
(function(){
console.log(this);
})();
}
var obj = {
fn:function(){
console.log(this);
console.log(this === obj);//true
}
}
window.obj.fn();
var btn = document.getElementById("btn");
btn.onclick = function () {
console.log(this);//
console.log(this === btn);//true
}
内置对象 :ECMAScript中规范的对象
常用的:Global : js在浏览器端运行,这个Global:全局对象 不存在,里面提供的方法会通过解析器交给window
Array
String
Math
Date
RegExp
Number toFixed();
Boolean
宿主对象 : W3C对象
BOM:浏览器对象模形
window:
ocation
document
navigator
history
screen
DOM:
Node
Math对象用于执行数学任务。
Math是一个内置对象,不需要创建,可以直接使用。
console.log(Math.ceil(15.7));//16
console.log(Math.ceil(15.3));//16
console.log(Math.ceil(15.001));//16
console.log(Math.ceil(15.00));//15
console.log(Math.ceil(-4.3));//-4
console.log(Math.floor(15.7));//15
console.log(Math.floor(15.3));//15
console.log(Math.floor(15.001));//15
console.log(Math.floor(15.00));//15
console.log(Math.floor(-4.3));//-5
1.如何得到 0 ~ 1 的随机整数[0,1]?
var random = Math.round(Math.random());
console.log(random);
2.如何得到 0 ~ 5 的随机整数[0,5]?
var random = Math.round(Math.random() * (5 - 0)) + 0;
console.log(random);
3.生成区间随机整数
function randomInt(min, max) {
return Math.round(Math.random() * (max - min)) + min;
}
console.log(randomInt(10, 30));
function randomInt(min, max) {
return Math.round(Math.random() * (max - min)) + min;
}
console.log(randomInt(10, 30));
function randomCode() {
// 48-122 >57&&<65 >90&&<97
var arr = [1, 1, 1, 1, 1, 1];
for (var i in arr) {
do {
var ascii = randomInt(48, 122);
} while ((ascii > 57 && ascii < 65) || (ascii > 90 && ascii < 97));
arr[i] = String.fromCharCode(ascii);
}
return arr.join('');
}
console.log(randomCode());
style:
.box {
width: 200px;
height: 100px;
}
html:
script:
function randomInt(min, max) {
return Math.round(Math.random() * (max - min)) + min;
}
console.log(randomInt(10, 30));
function randomColor() {
var str = '0123456789abcdef';
var col = '#';
for (var i = 0; i < 6; i++) {
var index = randomInt(0, 15);
col += str[index];
}
return col;
}
console.log();
var box = document.querySelector('.box');
box.style.backgroundColor = randomColor();
Date对象用于处理日期与时间。
Date对象自动使用当前系统的日期和时间作为其初始值。
getFullYear()------从Date 对象以四位数字返回年份。
getMonth()—从Date对象返回月份(0~11).
getDate()--------从 Date对象返回一个月中的某一天(1~31).
getHours()---------返回Date对象的小时(0~23).
getMinutes()-------返回Date 对象的分钟(0~59).
getSeconds()-------返回Date 对象的秒数(0~59).
getMilliseconds()–返回Date 对象的毫秒(0 ~999).
getDay()—从 Date对象返回一周中的某一天(0~6)。
getTime()----返回1970年1月1日至今的毫秒数。
返回当前时间与起始时间之间的毫秒数:
Date.now(); // 1556556512764
返回转换后的Date对象与起始时间之间的毫秒数:
Date.parse(“2019/05/01 00:00:00”); // 1556640000000
返回一个’年月日时分秒的本地格式字符串:
d.toLocaleString(); // ‘2019/4/30 上午12:55:42’
返回一个年月日的本地格式字符串:
d.toLocaleDateString(); // ‘2019/4/30’
setFullYear()--------设置Date对象中的年份(四位数字)。
setMonth()------设置Date对象中月份(0 ~ 11)。
setDate()-------设置Date对象中月的某一天(1 ~ 31)。
setHours()------设置Date对象中的小时(0 ~ 23)。
setMinutes()------设置Date对象中的分钟(0 ~ 59)。
setSeconds()------设置Date对象中的秒钟(0~ 59)。
setiMilliseconds()–设置Date对象中的毫秒(0 ~ 999)。
setTime()--------设置Date对象(向1970/1/1添加毫秒数)。
var d1=new Date(毫秒数);//从时间起点开始叠加的毫秒数
var d2=new Date('yyyy/mm/dd hh:mm:ss');
var d=new Date('8/20/2020');
var d=new Date('2020/8/20');
var d=new Date('2020/8/20 20:20:20');
var d=new Date(2020,12,20);