首页 >

javascript对象类型分哪三种

web前端|前端问答javascript对象类型分哪三种
javascript,对象类型
web前端-前端问答
电子图书馆源码,vscode可以导入什么文件,ubuntu 保存文本,tomcat修改管理端口,58爬虫python,php查询系统代码,蓟州区网络优化seo,网站table特效源码,thinphp5.1免费下载后台模板lzw
javascript中的对象可以分为三大类,分别是内部对象(本地对象和内置对象)、宿主对象和自定义对象。
易语言源码集成注册宝,vscode如何添加本地插件,ubuntu从终端启动,tomcat list,sqlite load,网页设计和平面设计,织梦本地数据库,服务器到哪里买,java swing 日历插件,前端框架页面,魔爪爬虫,api.php,seo月报,springboot部署注解,meta标签如何优化,某大型旅游企业网站源码,百度地图网页代码,html5 欢迎页面模板,网站后台上传图片无法显示,网页的html(自动生成静态页面),sdcms门户管理系统,matlab 图像增强程序lzw
1、内部对象
网站源码远程文件,ubuntu在哪调语言,爬虫废墟在哪里,php是蓝,白沙seo公司lzw
1)、本地对象,ECMAScript提供的需要实例化(new)才能使用的对象:

2)、内置对象,ECMAScript提供的不需要实例化就能使用的对象:

只有Global (全局对象)和 Math

Math 对象属性

属性描述
E返回算术常量 e,即自然对数的底数(约等于2.718)。
LN2返回 2 的自然对数(约等于0.693)。
LN10返回 10 的自然对数(约等于2.302)。
LOG2E返回以 2 为底的 e 的对数(约等于 1.4426950408889634)。
LOG10E返回以 10 为底的 e 的对数(约等于0.434)。
PI返回圆周率(约等于3.14159)。
SQRT1_2返回 2 的平方根的倒数(约等于 0.707)。
SQRT2返回 2 的平方根(约等于 1.414)。

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)返回角的正切。

JavaScript 全局属性

属性描述
Infinity代表正的无穷大的数值。
NaN指示某个值是不是数字值。
undefined指示未定义的值。

JavaScript 全局函数

函数描述
decodeURI()解码某个编码的 URI。
decodeURIComponent()解码一个编码的 URI 组件。
encodeURI()把字符串编码为 URI。
encodeURIComponent()把字符串编码为 URI 组件。
escape()对字符串进行编码。
eval()计算 JavaScript 字符串,并把它作为脚本代码来执行。
isFinite()检查某个值是否为有穷大的数。
isNaN()检查某个值是否是数字。
Number()把对象的值转换为数字。
parseFloat()解析一个字符串并返回一个浮点数。
parseInt()解析一个字符串并返回一个整数。
String()把对象的值转换为字符串。
unescape()对由 escape() 编码的字符串进行解码。

2、宿主对象

宿主对象就是执行JS脚本的环境提供的对象,是浏览器提供的对象。所有的BOM和DOM都是宿主对象。

3、自定义对象

开发人员自己定义的对象

⑴对象字面量方式(通过JSON来创建对象)

缺点:使用同一个接口创建很多对象,会产生大量的重复代码。

⑵工厂模式。

①工厂模式就是将创建对象的语句放在一个函数里,通过传入参数来创建特定对象,最后返回创建的对象。

函数createPerson()能够根据接受到的参数来构建一个包含所有必要信息的Person对象。

可以无数次的调用这个函数,而每次它都会返回一个包含2个属性和一个方法的对象。

②缺点:工厂模式虽然可以创建多个相似的对象,但却不能解决对象标识的问题,即怎样知道一个对象的类型。

⑶构造函数模式

①缺点:使用构造函数的主要问题是:每个方法都要在每个实例上创建一遍。

②在ECMAScript中,函数即对象,因此每定义一个函数,也就是实例化了一个对象。

③也就是说通过构造函数实例化的多个对象的方法,是多个不同的方法,但它们内部的代码以及实现的功能是相同的,这就造成了一定的资源浪费。

⑷原型模式

①js中,每个函数都有一个prototype属性,它是一个指针,指向一个对象,叫做原型对象。

②使用原型模式可以让所有的实例共享原型对象中的属性和方法,也就是说,不必再构造函数中定义对象实例的信息。

③缺点:省略了为构造函数传递初始化参数这一环节,结果所有实例在默认情况下都将取得相同的属性值。

原型模式的最大问题是由共享的本性所导致的。原型中所有属性是被很多实例共享的

这种共享对于函数非常合适。对于包含引用类型的属性来说,问题就比较突出了。

④因此,很少单独使用原型模式。

⑸组合使用构造函数模式和原型模式

①组合使用构造函数模式和原型模式,是创建自定义类型的最常见方式。

②构造函数模式用于定义实例属性,而原型模式用于定义方法和共享的属性。

③结果,每个实例都会有自己的一份实例属性的副本,但同时又共享着对方法的引用,最大限度的节省了内存。

⑹其他模式

①动态原型模式:仅在第一次调用构造函数时,将方法赋给原型对象的相应属性,其他示例的处理方式同构造函数模式

②寄生构造函数模式:仅仅封装创建对象的代码,然后再返回新创建的对象,仍使用new操作符调用

③稳妥构造函数模式:没有公共属性,只有私有变量和方法,以及一些get/set方法,用以处理私有变量。


javascript对象类型分哪三种
  • access2003数据库的对象类型有哪几种
  • access2003数据库的对象类型有哪几种 | access2003数据库的对象类型有哪几种 ...

    javascript对象类型分哪三种
  • JavaScript中判断变量是数组、函数或是对象类型办法【javascript】
  • JavaScript中判断变量是数组、函数或是对象类型办法【javascript】 | JavaScript中判断变量是数组、函数或是对象类型办法【javascript】 ...

    javascript对象类型分哪三种
  • 为什么用Object.prototype.toString.call(obj)检测对象类型?
  • 为什么用Object.prototype.toString.call(obj)检测对象类型? | 为什么用Object.prototype.toString.call(obj)检测对象类型? ...