数据类型

数据类型

字符串类型:string
数字类型:number
布尔类型:Boolean
数组:array
对象:object
函数:function
空:null
未定义:undefined

基本数据类型
一、数据类型之字符串

1.单引号和双引号均可解析转义字符
2.单引号和双引号均不能解析变量
3.变量与字符串、变量与变量要使用+来连接。
4.单引号和双引号可以互相嵌套,如果单引号中要嵌套单引号,需要将单引号转义,同理,双引号相同。
+作用:拼接作用
总结:凡是在英文的单引号或者双引号内,输入的数据;不管是什么内容,都是字符类型数据。

     //变量与变量案例
       console.log(str1+str2+str3)
    //变量与字符串案例
      console.log(str3 + '=====啦啦啦啦啊啊啊')
二、数据类型之数值型

浮点数值

  所谓浮点数值,就是该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字。

var num = 1.2;
注意:如果小数点后面没有跟任何数字(如1.),可以作为整数值来保存。
如果浮点数值本身表示的就是一个整数(如1.0),该值会被转为整数

var num4 = 1.2e3; //等于1200
浮点数值的最高精度是17位小数,但在进行算术计算时其精度远远不如整数。

  eg:浮点数计算案例
        var num6 = 0.1;
        var num7 = 0.2;
        console.log(num6+num7)  //不是0.3

NaN:即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况。

var res = 3%0  
console.log(res)  //结果:NaN   在js中,只要有NaN不影响js运算

NaN的特点:
1.任何涉及NaN的操作,结果都为NaN
2.NaN与任何值都不相等,包括NaN本身。

 例如:下面的代码会返回false
       alert(NaN == NaN);
三、布尔类型

布尔类型:true false
用处:
1)只要有比较的时候,就会用到bool
2)一般输出两种结果的时候也会到bool类型

复合数据类型
    对象:{}
	数组:[]
	注意:对象是无序的;数组是有序的.

一、对象:对象的存在形式是以key:value键值对的形式存在。

  key:为对象中属性    
  value:为属性的值     每个属性必须要对应一个值。
  
  属性是不可变得,值是可变的,值可以为js中所有的数据类型;属性只能是js中的字符串。
  注意:对象中属性的名字具有唯一性
  
    eg:创建一个对象
       var obj1 = {}
	   console.log(typeof obj1)  //object  
对象操作方法(一)

1.增、改 语法:对象名字.属性 = 值
如果对象中有这个属性,那么就是重新赋值的过程;如果对象中没有这个属性,那么就是给对象添加属性且赋值。
口诀:有则改之,无则增加
2.获取:
获取对象中属性的值(value) obj.key
获取之后,可以用变量接收,可以直接输出

对象操作方法(二)

语法:对象[‘key’] 注:[]中必须是字符串,因为对象中属性的数据类型是String
总结:[]对对象的操作 比 点更加严谨

  eg:var a = 'ha'
      gaunzhao.a = '哈哈'     // 点直接给对象添加属性。不能访问变量 默认“点” 后数据就是字符串 非变量
	  gaunzhao[a] = '呵呵'    // [] 中需要的市字符串,可以直接传字符串,也可以获取值为字符串类型的变量

二、数组:数组中数据可以是js中任何数据类型,数组是有序的,数组都有索引值;也就是数组的下标,从0开始
注意:数组中的数据可以重复出现

eg:创建一个数组
   var arr = []
   var arr1 = ['11',11,true,{name : 'lala'}]
  总结判断数据类型的方法:
	 * 1.typeof   对象、数组、函数,输出都是object
	 * 2.instanceof  不能准确区分数组和对象
  	 * 3.constructor  可以准确区分数组、对象、函数

	 判断是数组的方法:isArray()
其他数据类型
一、函数:

每一个函数都是完成一个任务,将任务中可以改变你的量作为形参,方法体是实现任务的业务逻辑,也是对形参接收到的实参的加工处理

  • 形参 :形参名字是自定义的,作用为接收实参,供方法体使用;形参与实参是一一对应的。
  • 实参:实际传入的参数是什么,在调用函数时传入 ;实参个数可以小于形参的数量
  • 函数的方法体作用:完成函数任务的业务逻辑,也是对实参的加工处理

注意:形参就是定义几个等待赋值的变量;实参就是给形参进行赋值。
形参的个数 >= 实参的个数
注意:函数每调用一次;方法体中的代码都会执行一次

1.函数封装的思路:
  * 1.明确函数的作用是什么
  * 2.分析出任务中那些是可变的量,需要在调用函数时候传入
  * 3.完成这个任务分为几个步骤,对形参做哪些处理
  * 4.明确一个函数是否有返回值 return
2.函数的返回值:函数有返回值,也可以没有返回值
  return 作用:
	 * 1.函数的返回值
		  有结果:可以用变量接受 函数执行时返回的结果;
	      没有结果:变量不能接收到函数执行后任何值,该变量为undfined。
	 * 2.在函数内部,如果执行了return,函数内部return以下的代码都不执行 
	 * 	        

注意:函数执行完毕后;就会被释放,没有记忆的功能。每次调用都是重现执行方法体中代码

3.Function构造函数:
注意:在使用Function()构造函数的时候,第一个字母要大写,而function是所有字母都是小写
    eg:创建一个函数对象---函数
		var fun = new Function('x','y','return x+y')
		console.log(fun(1,1))

补充:语法:var 函数名 = new 构造函数
* var 函数名 = new Function(“参数1”,”参数2”,”参数3”……”函数体”)
* new作用:实例化对象

4.构造函数创建对象:
  * 构造函数分为:js内置的构造函数   我们自定义的函数也可以作为构造函数
  * 构造函数的作用:实例化对象
  * new后面跟着的执行函数(不是变量)都是构造函数
  * 构造函数语法:new xxx()   xxx就是一个构造函数
  eg:使用对象的构造函数,创建对象
	var obj1 = new Object({
	   name:'lalal',
	   age:'a'
	})
二、null

null 特殊的存在为空

三、undefined

undefined 是什么都没有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值