08-JS使用过的函数 71-80

71、offsetParent 

offsetParent是一个只读属性,返回元素的最近的已定位(position不为 static)祖先元素。如果没有已定位的祖先元素,则 offsetParent为 body 元素。

offsetParent 属性常用于计算元素的绝对位置,例如通过  offsetTop和  offsetLeft属性。这些属性返回元素相对于其 offsetParent元素的位置。如果该元素没有 offsetParent,则这些属性返回相对于文档的位置。

需要注意的是,offsetParent属性的值在某些情况下可能会被改变,例如将元素的 position属性从 static改变为其他值,或者通过 JavaScript 动态改变元素的 parentNode属性。因此,使用 offsetParent属性计算元素位置时需要注意这些变化。

72、clientLeft 

clientLeft 表示一个元素的左边框的宽度,以像素表示。如果元素的文本方向是从右向左(RTL, right-to-left),并且由于内容溢出导致左边出现了一个垂直滚动条,则该属性包括滚动条的宽度。

clientLeft 不包括左外边距和左内边距。

提示: 你可以使用 style.borderLeftWidth 属性来获取元素左边框的宽度。

提示: 要返回元素顶部边框的宽度可以使用 clientTop 属性。

clientLeft 是只读的。

73、Object.create

Object.create() 是 JavaScript 中一个对象创建方法,它允许你创建一个新对象并指定该对象的原型。具体来说,它接收一个参数,该参数是新对象的原型,然后返回一个新对象,该对象的原型为传入的参数。

例如,下面的代码创建了一个 person 对象,然后使用 Object.create() 方法创建了一个新对象 student,并将 person 对象作为 student 的原型:

let person = {  
    name: 'John',  age: 30,  
    sayHello() {    
        console.log('Hello!');  
    }
};
let student = Object.create(person);

此时,student 对象继承了 person 对象的属性和方法,可以通过 student 对象访问它们:

console.log(student.name); // 'John'
console.log(student.age); // 30
student.sayHello(); // 'Hello!'

需要注意的是,如果你想给新对象 student 添加自己的属性或方法,可以直接在 student 对象上添加,而不会影响到 person 对象。例如:

student.major = 'Computer Science';
student.study = function() {  
                    console.log('Studying...');
                };

 这样一来,student 对象就具有了自己的 属性和 major 和 study方法。

74、Object.prototype

Object.prototype 是 JavaScript 中所有对象的原型对象。它是一个包含常用属性和方法的对象,可以被其他对象继承和使用。例如,一个数组对象可以继承 Object.prototype 中定义的 toString() 方法来将其转换为字符串。

可以使用 Object.getPrototypeOf() 方法来获取一个对象的原型对象。例如:

const myObj = {};
const myPrototype = Object.getPrototypeOf(myObj); // 返回 Object.prototype

Object.prototype 中包含的常用属性和方法包括:

  • constructor: 对象的构造函数
  • hasOwnProperty(): 判断对象是否包含指定的属性
  • isPrototypeOf(): 判断当前对象是否是另一个对象的原型对象
  • propertyIsEnumerable(): 判断对象的某个属性是否可枚举
  • toLocaleString(): 返回对象的本地化字符串
  • toString(): 返回对象的字符串表示
  • valueOf(): 返回对象的值

需要注意的是,在 JavaScript 中,所有的对象都是 Object 的实例,因此它们都继承了 Object.prototype 中定义的属性和方法。

 75、eval

eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。

如果参数是一个表达式,eval() 函数将执行表达式。如果参数是Javascript语句,eval()将执行 Javascript 语句。

eval("x=10;y=20;document.write(x*y)");
document.write("<br>" + eval("2+2"));
document.write("<br>" + eval(x+17));

以上例程会输出: 

200
4
27

76、JSON.parse

JSON.parse() 是一个 JavaScript 函数,用于将 JSON 字符串解析为 JavaScript 对象。它接受一个 JSON 字符串作为参数,并返回相应的 JavaScript 对象。例如:

const jsonString = '{"name":"John","age":30,"city":"New York"}';
const obj = JSON.parse(jsonString);
console.log(obj.name); // 输出 "John"
console.log(obj.age); // 输出 30
console.log(obj.city); // 输出 "New York"

 注意,JSON.parse() 只能解析符合 JSON 语法规范的字符串,否则会抛出语法错误。

77、JSON.stringify

JSON.stringify是一个JavaScript内置函数,它可以把一个JavaScript值(对象或者数组)转换成一个JSON字符串。 

var objStr2 = "{\"name\": \"张三\", \"age\": 18, \"money\": 200.04}";
var obj = JSON.parse(objStr2);
console.log("JSON转对象",obj);

console.log("对象转JSON",JSON.stringify(obj)); 
// stringify() 将JSON对象或者数组转为字符串

 以上例程会输出: 

 

 78、Math

Math 对象用于执行数学任务。

Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math()。

Math 对象方法

方法描述
abs(x)返回 x 的绝对值。
acos(x)返回 x 的反余弦值。
asin(x)返回 x 的反正弦值。
atan(x)以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
atan2(y,x)返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
ceil(x)对数进行上舍入。
cos(x)返回数的余弦。
exp(x)返回 Ex 的指数。
floor(x)对 x 进行下舍入。
log(x)返回数的自然对数(底为e)。
max(x,y,z,...,n)返回 x,y,z,...,n 中的最高值。
min(x,y,z,...,n)返回 x,y,z,...,n中的最低值。
pow(x,y)返回 x 的 y 次幂。
random()返回 0 ~ 1 之间的随机数。
round(x)四舍五入。
sin(x)返回数的正弦。
sqrt(x)返回数的平方根。
tan(x)返回角的正切。
tanh(x)返回一个数的双曲正切函数值。
trunc(x)将数字的小数部分去掉,只保留整数部分。

79、Date

Date 对象用于处理日期与时间。

创建 Date 对象: new Date()

以下四种方法同样可以创建 Date 对象:

Date 对象方法

方法描述
getDate()从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay()从 Date 对象返回一周中的某一天 (0 ~ 6)。
getFullYear()从 Date 对象以四位数字返回年份。
getHours()返回 Date 对象的小时 (0 ~ 23)。
getMilliseconds()返回 Date 对象的毫秒(0 ~ 999)。
getMinutes()返回 Date 对象的分钟 (0 ~ 59)。
getMonth()从 Date 对象返回月份 (0 ~ 11)。
getSeconds()返回 Date 对象的秒数 (0 ~ 59)。
getTime()返回 1970 年 1 月 1 日至今的毫秒数。
getTimezoneOffset()返回本地时间与格林威治标准时间 (GMT) 的分钟差。
getUTCDate()根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。
getUTCDay()根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。
getUTCFullYear()根据世界时从 Date 对象返回四位数的年份。
getUTCHours()根据世界时返回 Date 对象的小时 (0 ~ 23)。
getUTCMilliseconds()根据世界时返回 Date 对象的毫秒(0 ~ 999)。
getUTCMinutes()根据世界时返回 Date 对象的分钟 (0 ~ 59)。
getUTCMonth()根据世界时从 Date 对象返回月份 (0 ~ 11)。
getUTCSeconds()根据世界时返回 Date 对象的秒钟 (0 ~ 59)。
getYear()已废弃。 请使用 getFullYear() 方法代替。
parse()返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
setDate()设置 Date 对象中月的某一天 (1 ~ 31)。
setFullYear()设置 Date 对象中的年份(四位数字)。
setHours()设置 Date 对象中的小时 (0 ~ 23)。
setMilliseconds()设置 Date 对象中的毫秒 (0 ~ 999)。
setMinutes()设置 Date 对象中的分钟 (0 ~ 59)。
setMonth()设置 Date 对象中月份 (0 ~ 11)。
setSeconds()设置 Date 对象中的秒钟 (0 ~ 59)。
setTime()setTime() 方法以毫秒设置 Date 对象。
setUTCDate()根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
setUTCFullYear()根据世界时设置 Date 对象中的年份(四位数字)。
setUTCHours()根据世界时设置 Date 对象中的小时 (0 ~ 23)。
setUTCMilliseconds()根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
setUTCMinutes()根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
setUTCMonth()根据世界时设置 Date 对象中的月份 (0 ~ 11)。
setUTCSeconds()setUTCSeconds() 方法用于根据世界时 (UTC) 设置指定时间的秒字段。
setYear()已废弃。请使用 setFullYear() 方法代替。
toDateString()把 Date 对象的日期部分转换为字符串。
toGMTString()已废弃。请使用 toUTCString() 方法代替。
toISOString()使用 ISO 标准返回字符串的日期格式。
toJSON()以 JSON 数据格式返回日期字符串。
toLocaleDateString()根据本地时间格式,把 Date 对象的日期部分转换为字符串。
toLocaleTimeString()根据本地时间格式,把 Date 对象的时间部分转换为字符串。
toLocaleString()根据本地时间格式,把 Date 对象转换为字符串。
toString()把 Date 对象转换为字符串。
toTimeString()把 Date 对象的时间部分转换为字符串。
toUTCString()

根据世界时,把 Date 对象转换为字符串。

实例:

var today = new Date();
var UTCstring = today.toUTCString();
UTC()根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。
valueOf()返回 Date 对象的原始值。

80、for...in

for/in 语句用于循环对象属性。

循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。

var obj = {
    name: "张三",
    age: 18
};
for(var key in obj) {
    console.log(key);
}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七色的天空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值