js基础提升学习之基本数据类型

这次给大家带来js基础提升学习之基本数据类型,使用js基本数据类型的注意事项有哪些,下面就是实战案例,一起来看一下。

javascript的数据类型分为两大类型:

1、基本数据类型:

      字符串(String)

      数字(Number):

      布尔(Boolean):true、false

      undefined:未定义

      null:空

       NaN :不是一个数字 not a number    (isNaN(10),返回false,代表的是不是个数字,你传数字就报错)

2、引用数据类型(对象/符合数据类型):

       继承 Object

js中对象是一组属性与方法的集合。这里就要说到引用类型了,引用类型是一种数据结构,用于将数据和功能组织在一起。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。

基本数据类型:

在第一个JS里面,我们发现过转化,具体如何转化?有什么的顺序和规则,进行阐述:

转化原因:python和javascript是弱数据型语言,就会转化

优先级级别:string  >float  >int  >boolean

举个简单的例子:

1、字符串的优先级别比数字高,数字就会被转化为字符串,就可以输出、

2、浮点比整数型高,输出12.3

3、isNaN 方法是用来判断不是一个数字的

比如是数字吗?

是,于是结果就是Flase

4、布尔:

isTrue是变量名

———————————————————基本数据类型补充分析———————————————————–

typeof 操作符

由于js中的变量是松散类型的,所以它提供了一种检测当前变量的数据类型的方法,也就是typeof关键字.

type of   123   //Numbertype of   'abc'  //Stringtype of    true       //Booleantype of    undefined   //Undefinedtype of    null        //Objecttype of    { }           //Objecttype of    [ ]           //Objecttype of    console.log()       //Function

登录后复制

null类型进行typeof操作符后,结果是object,原因在于,null类型被当做一个空对象引用。

1.Number类型

Number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字)两种值。

NaN:非数字类型。特点:① 涉及到的 任何关于NaN的操作,都会返回NaN   ② NaN不等于自身。

isNaN() 函数用于检查其参数是否是非数字值。

isNaN(123)  //false   isNaN("hello")  //true

登录后复制

2.String类型

字符串有length属性。

字符串转换:转型函数String(),适用于任何数据类型(null,undefined 转换后为null和undefined);

toString()方法(null,defined没有toString()方法)。

3.Boolean类型

该类型只有两个值,true和false

4.Undefined类型

只有一个值,即undefined值。使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined。

5.Null类型

null类型被看做空对象指针,前文说到null类型也是空的对象引用。

6.Object类型

js中对象是一组属性与方法的集合。这里就要说到引用类型了,引用类型是一种数据结构,用于将数据和功能组织在一起。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。

三大引用类型:

1.Object类型

我们看到的大多数类型值都是Object类型的实例,创建Object实例的方式有两种。

第一种是使用new操作符后跟Object构造函数,如下所示

var person = new Object();person.name = "Micheal";person.age = 24;

登录后复制

第二种方式是使用对象字面量表示法,如下所示

var person = {  name : "Micheal",  age : 24};

登录后复制

2.Array类型

数组的每一项可以用来保存任何类型的数据,也就是说,可以用数组的第一个位置来保存字符串,第二个位置保存数值,第三个位置保存对象….另外,数组的大小是可以动态调整的。

创建数组的基本方式有两种

第一种是使用Array构造函数,如下所示

var colors = new Array("red","blue","yellow");

登录后复制

第二种是使用数组字面量表示法,如下所示

var colors = ["red","blue","yellow"];

登录后复制

3 Function类型

每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。函数通常是使用函数声明语法定义的,如下所示

function sum(num1,num2){  return num1 + num2;};

登录后复制

这和使用函数表达式定义函数的方式相差无几。

var sun = function (){  return sum1 + sum2;};

登录后复制

也就是说,js按照存储方式分为值类型和引用类型。那么他们的计算有什么区别呢?

题目1:

var a = 100;    var b = a;      a = 200;    console.log (b);

登录后复制

题目2:

var a = {age : 20};    var b = a;    b.age = 21;    console.log (a.age);

登录后复制

题目1的答案是 100,题目2的答案是21,

题目1是简单的值类型,在从一个变量向另一个变量赋值基本类型时,会在该变量上创建一个新值,然后再把该值复制到为新变量分配的位置上。

此时,a中保存的值为 100 ,当使用 a 来初始化 b 时,b 中保存的值也为100,但b中的100与a中的是完全独立的,该值只是a中的值的一个副本,此后,这两个变量可以参加任何操作而相互不受影响。也就是说基本类型在赋值操作后,两个变量是相互不受影响的。

题目2是引用类型,当从一个变量向另一个变量赋值引用类型的值时,同样也会将存储在变量中的对象的值复制一份放到为新变量分配的空间中。

这时保存在变量中的是对象在堆内存中的地址,所以,与简单赋值不同,这个值的副本实际上是一个指针,而这个指针指向存储在堆内存的一个对象。那么赋值操作后,

两个变量都保存了同一个对象地址,则这两个变量指向了同一个对象。因此,改变其中任何一个变量,都会相互影响。

因此,引用类型的赋值其实是对象保存在栈区地址指针的赋值,因此两个变量指向同一个对象,任何的操作都会相互影响。

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

怎样使用li进行水平排列

怎样操作页面、可视区、屏幕等宽高属性

以上就是js基础提升学习之基本数据类型的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2750009.html

(0)
上一篇 2025年3月8日 05:29:11
下一篇 2025年2月26日 00:38:32

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 在Angular.js中使用Swiper插件如何解决不能滑动的问题

    下面我就为大家分享一篇解决angular.js中使用swiper插件不能滑动的问题,具有很好的参考价值,希望对大家有所帮助。 我们都知道swiper是交互体验十分好的轮播插件 但是通过angular(ng-repeat)循环出来的swipe…

    编程技术 2025年3月8日
    200
  • js基础提升学习之运算符和表达式

    这次给大家带来js基础提升学习之运算符和表达式,使用js运算符和表达式的注意事项有哪些,下面就是实战案例,一起来看一下。 怎样才能得到一个数的二进制呢? 格式:alert( 变量名.toString(2) ); 如果想要得到一个数的其他进制…

    编程技术 2025年3月8日
    200
  • 在Angular5中如何调用第三方js插件(详细教程)

    下面我就为大家分享一篇angular5中调用第三方js插件的方法,具有很好的参考价值,希望对大家有所帮助。 话不多说直入主题,最常见的有三种方式来引用第三方插件,下面以jquery插件及基于JQuery的两款插件:nicescroll和ra…

    编程技术 2025年3月8日
    200
  • js基础提升学习之三大流程及switch语句

    这次给大家带来js基础提升学习之三大流程及switch语句,使用js三大流程及switch语句的注意事项有哪些,下面就是实战案例,一起来看一下。 必知知识: 1、代码运行顺序:自上而下,自左而右 2、分支:单分支,多分支,多分支,switc…

    编程技术 2025年3月8日
    200
  • 在angular2中如何使用第三方js库(详细教程)

    下面我就为大家分享一篇angular2中使用第三方js库的实例,具有很好的参考价值,希望对大家有所帮助。 本文以jquery 为例 第一种:有对应的声明文件的 1、用命令安装jQuery的声明文件。(声明文件是为了ide完美智能提示) np…

    编程技术 2025年3月8日
    200
  • js基础提升学习之操作DOM对象属性

    这次给大家带来js基础提升学习之操作DOM对象属性,使用js操作DOM对象属性的注意事项有哪些,下面就是实战案例,一起来看一下。 Js中一般:   id属性、title属性一般都是通过【标签对象.属性名称】来操作;   class属性,一般…

    编程技术 2025年3月8日
    200
  • js基础提升学习之操作DOM对象样式

    这次给大家带来js基础提升学习之操作DOM对象样式,js操作DOM对象样式的注意事项有哪些,下面就是实战案例,一起来看一下。 举个简单的例子: 我们会发现,xx.style.xx 只能获取行内样式,width获取不到(行内样式,意思是指的不…

    编程技术 2025年3月8日
    200
  • js基础提升学习之三种内置对象

    这次给大家带来js基础提升学习之三种内置对象,使用js三种内置对象的注意事项有哪些,下面就是实战案例,一起来看一下。 在这里只了解三大内置对象,即字符串、时间、数组 什么是内置对象? 内置对象就是指这个语言自带的一些对象,供开发者使用,这些…

    2025年3月8日 编程技术
    200
  • utils.js使用案例详解

    这次给大家带来utils.js使用案例详解,utils.js使用的注意事项有哪些,下面就是实战案例,一起来看一下。 //记录集中查找位置    findIndex: function (id, feild, arr) {        le…

    编程技术 2025年3月8日
    200
  • 使用JS怎样实现最简单的跨域

    这次给大家带来使用JS怎样实现最简单的跨域,使用JS实现最简单的跨域注意事项有哪些,下面就是实战案例,一起来看一下。 有一天有人跑来跟我定方案,问我cors是什么原理,一脸懵逼,跨域我只知道jsonP啊,眼看一个装逼的机会就要失去了。“我现…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论