javascript可以使用的对象类型,类,对象,方法,属性怎么区别

  javascript可以使用的对象类型,类,对象,方法,属性怎么区别

  这篇文章给大家带来了一些关于javascript的知识,主要介绍了一些关于基本类型的相关问题,像对象,是有属性和方法的,包括基本类型作为对象的使用,基本类型构造函数等。来看看吧,希望对你有帮助。

  【相关推荐:javascript视频教程,web前端】

  

基础类型的“属性方法”

  本文将探讨一个极其有趣的概念,即基本类型的属性方法。最近怎么样?你是不是有点傻?慢慢听我说~

  

前言

  在其他面向对象的编程语言中,比如Java和C,属性是对象特有的概念,基本类型是基本类型,所以没有属性方法的概念。

  没错,又是JavaScript的一个馊主意。它的引擎允许我们使用属性方法来操作基本类型的数据,就像操作对象一样。

  在解释这个奇怪的特性之前,我们需要知道基本类型和对象类型有什么区别。

  基本类型JavaScript基本类型的值是多少;JavaScript中有七种基本类型:字符串、数字、布尔、BigInt、符号、空和未定义;对象类型是什么?用{}创建的数据包可以存储多个值。还有其他类型的JavaScript对象,比如函数;涉及到面向对象,引入对象的一个关键特性是封装,可以把各种杂乱的数据和方法存放在一个对象中,降低使用的复杂度。

  例如:

  让用户={

  姓名:小明,

  你好(){

  Console.log(`你好,我是$ { this . name } `);

  } } user . hello();我们将对象用户的属性和方法封装到一个对象中,这样使用起来非常简单。我们只需要使用obj.attr来调用方法或者属性。

  但是,这是由于额外的开销(面向对象有额外的开销),这也是面向对象语言C比C慢的原因。

  

基础类型当作对象使用

  

面临的问题

  当基本类型用作对象时,有两个问题很难协调:

  我们希望能够像使用对象一样操作基本类型,比如‘ABC’。toupper case();对象有额外的开销,我们希望保持基本类型简单高效;

解决的方法

   JavaScript以一种相当混乱的方式解决了上述问题:

  基类型是基类型,提供独立的、个体的值;允许访问字符串的方法和属性;号码;布尔和符号类型;为了保证理论的完整性,在使用基本类型的方法和属性时,先把它们打包成对象,然后再销毁;上述规则意味着基本类型仍然是基本类型。但是,如果我们想要访问基本类型的方法和属性,我们会将基本类型包装到一个对象(对象包装器)中,并在访问完成时销毁它。老实说,这听起来有点可笑。

  

背后的事件

  例如:

  let name= Trumpconsole . log(name . toupper case());//访问基础类型的方法。上述代码的执行结果如下:

  看起来问题不大,但是事情很多,需要了解以下几点:

  Name是字符串基类型,本身没有什么特别的;在访问name属性方法时,会创建一个包含字符串值的特殊对象,它有toUpperCase方法;调用特殊对象的方法toUpperCase会返回一个字符串;特殊物件用完就销毁;变量本身的值没有改变,如下所示:

  

妥协的结果

  虽然解决方案充满了妥协(烂点子),但结果还是不错的,成绩如下:

  基金会保持自身的简单高效;类型通过特殊对象拥有属性和方法;保持理论的完整性,即只有对象才有属性和方法;虽然理论上,事实上,JavaScript引擎高度优化了这个过程,我怀疑它根本没有创建额外的对象。只是口头上说自己遵守规范,好像真的有了临时对象。

  

常用方法举例

  本文简单介绍基本类型方法的概念,不解释各种方法。随着教程的深入,会逐渐涉及到大量的方法。下面是基本类型的一些常用方法和属性。

  具有不同属性方法的不同基本类型在以下类别中列出:

  

String

  长度属性,返回字符串长度。

  console.log(abc )。长度);上述代码结果如下:

  indexOf(ch)方法返回字符串中第一个字符的下标。

  console.log(abc )。indexOf( b );console.log(abc )。index of( d );代码执行结果如下:

  当字符串中存在该字符时,返回下标(从0开始),如果找不到该字符,则返回-1。

  Concat(str)方法,拼接两个字符串

  设str1= hello让str2=世界!;console . log(str 1 . concat(str 2));console . log(str 1);console . log(str 2);代码执行结果如下:

  replace(str1,str2)方法用str2替换str1。

  设str= javascriptconsole.log(str.replace(java , 996 ));console . log(str);代码执行结果如下:

  

Number

   toFixed(num)方法,将小数位舍入到指定的精度。

  console . log(9.3333333 . to fixed(3));console . log(9.3333333 . to fixed(0));代码执行结果如下:

  ToString()方法,该方法将数字转换为字符串。

  3.14 . tostring();//更改为“3.14”console . log((8)。tostring(2));//转换为二进制“1000”console . log((9)。tostring(2));//转换为二进制“1001”console . log((996)。tostring(16));//转换为十六进制字符串“3e4”的代码执行结果如下:

  toExponential()方法转换为指数计数方法。

  console . log(3.1415926 . toexponential());console . log(3.1415926 . to exponential(2));console . log(3.1415926 . to exponential(3));代码执行结果如下:

  后续章节会展示更多的方法,这里就不赘述了。

  

基础类型构造函数(不推荐使用的特性)

  和Java一样,JavaScript可以通过new运算符显式地为基本类型创建一个“对象包装器”。这个做法是极其不推荐,这里提出只是为了知识的完备性。

  这种方法存在一些问题,例如:

  设num=新数(0);console.log(类型编号);console.log(类型为0);代码执行结果如下:

  或者,在判断中会出现混乱:

  设零=新数(0);If (zero) {//zero为真,因为它是一个对象

  console . log( true );}代码执行结果如下:

  同时,我们不要忘记,不带new(关键字)的String/Number/Boolean函数可以将一个值转换成相应的类型:转换成String、Number或Boolean值(原始类型)。

  例如:

  console.log(数字类型( 123 ));

本文小节

  除了null和undefined之外的基本类型提供了很多有用的方法;

  JavaScript虽然采用了折中的实现方法,但还是取得了令人满意的效果,以较低的成本实现了基本的类型属性和方法调用。

  【相关推荐:javascript视频教程,web前端】以上是JavaScript如何实现基本类型与对象具有相同属性和方法的细节。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: