分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

JS数据类型

发布时间:2023-09-06 01:37责任编辑:郭大石关键词:数据类型

一、Js是有数据类型的 为弱类型!

  弱类型:JS不需要我们去定义变量的类型,它会自己去判断我们定义的变量的类型!

二、Js的数据类型:七种(ES5) symbol不可变更类型(ES6)

  number数字类型(NAN)、string字符串类型、boolean布尔类型、Object对象类型([]、{}、null、undefined)===>属性typeof判断数据类型

 //数字类型

var i=100;alert(typeof i); 

//字符串类型

var s=" movie ";alert(typeof s);alert(s.length); //7 空格也算一个字符alert(s.charAt(3)); //v是第四个 但是charAt属性的的起始值为0;

  //布尔类型

var j=true;alert(typeof j); //boolean:true或者false// if(boolean){}// for(;boolean;){}

 //函数

var fn=function (){alert(1);};function fn1(){ ???alert(1);}// alert(typeof fn);
alert(typeof fn1); //fn1是该函数的函数名 若此处改为fn1():浏览器执行两次,先执行函数内的语句fn1(),再执行typeof判断为undefined。

 //对象Object

var obj=document.getElementsByTagName(‘div‘);alert(typeof obj); //object:东西、物品 ?不同于现实生活中的杯子、桌、椅等可以摸得着、看的见的物品,其本身是虚拟的但客观存在于虚拟网络中,所以又称之为对象 window、document、document.getElementById(‘id‘);//obj不为空 //添加属性obj.abc=123;obj.onOff=true; //添加方法 ?obj.fn1=function(){alert(1);}; alert(obj.onOff); obj.fn1(); //调用函数

 //数组[]

var arr=[1,2,3,4];alert(arr.length);arr[2]=345; //改变数组内的内容alert(arr);arr.push(5,6,7); //向数组内添加东西alert(arr);alert(typeof arr); //object对象
arr.abc=889;
arr.fn1=function(){alert(‘ok‘);};
//alert(arr.abc);
//arr.fn1();

 //{}

var jons={name:‘miaov‘,age:5};alert(jons.name); //等同于将属性name:‘miaov‘和age赋予jons变量alert(typeof jons); //object

  //null

var n=null;alert(typeof n); //object

 //undefined

var n;alert(typeof n); //undefined 未定义//表示你的代码出现错误~~

三、JS数据类型转换(包含隐形转换)

 1、显示 类型转换

  1. number();

var a=‘100‘;// alert(a+100); //‘100100‘// alert(Number(a)+100); //Number将看上去像数字的字符串转换为数字(整数和小数) 对字符串转换能转换的部分var a1=‘‘;// alert(Number(a1)); //空格和null皆转换为0var a2=true;// alert(Number(a2)); //true-1;false-0var a3=[];// alert(Number(a3)); //数组内不能有多个内容 无内容转为0 其余内容同avar a4=null;// alert(Number(a4)); //0

         number();无法转化的会弹出NaN: not a number 不是个数字的数据类型

var a5;// alert(Number(a5)); ?//NaNvar jons={};// alert(Number(jons)); //NaN 全部无法转换var a3=function(){alert(1);};// alert(Number(a3)); //NaN

   2. ParseInt();和ParseFloat();

var a=‘ ?+299px12345‘;alert(parseInt(a)); 
//转换整型 1、识别加减号 2、从左往右一个一个转换 3、空格跳过 4、遇到其余符号或字母停止var b=‘ +12.3.9元12345‘;alert(parseFloat(b));
//var c=‘1123.134‘;if(parseInt(c) == parseFloat(c)){ ???alert(c+‘是一个整数‘);}else{ ???alert(c+‘是一个小数‘);}
  ①ParseInt():转换整型 
??   1. 识别加减号
???  2. 从左往右一个一个转换
??   3. 空格跳过
??   4. 遇到其余符号或字母停止
  ②ParseFloat():转换浮点数
    1. 识别加减号
   ??2. 从左往右一个一个转换
??   3. 空格跳过
??   4. 遇到第一个点不停止
??   5. 遇到其余符号、字母或第二个点停止

1、隐式 类型转换:

    1. + 200+‘1‘ 数字转换为字符串

    2. -/*% 200-‘2‘ 字符串转换为数字

    3. ++ -- ‘200‘ 字符串转换为数字

    4. < > ‘299‘<4 字符串转换为数字 || ‘px299‘<‘p4‘ 将第一个数字或单词抽出来比较(utf-8的先后顺序 空格<数字<小写字母<大写字母)

    5. !取反 一律改为布尔类型

    6. == 判断值 

    7. (=== 判断类型再判断值 类型不同输出为false)不列入内

        8. +‘200‘字符串转化为数字

四、isNaN应用实例

  //NaN是不是数字类型

var a=Number(‘abc‘);alert(a); //NaNalert(typeof a); //a是数字类型

  //同一个NaN彼此不相等

alert(a===a);

  //NaN的布尔类型为假(false)

if(a){ ???alert(‘真‘);}else{ ???alert(‘假‘);}

isNaN: Is not a number 是不是 不是一个数字(不是数字

 isNaN();  //true false  (判断某些值是不是数字)

  可以这样记忆:isNaN这个属性不喜欢数字,遇到数字就会输出 false

    1. 字符串会先由Number()判断 如果是数字输出为false 反之输出为true

    2. alert(alert(isNaN(‘250.34‘))); //false

    3. alert(isNaN(‘250px‘)); //ture

window.onload=function(){ ???var aInput=document.getElementsByTagName(‘input‘); ???var str=""; ???????aInput[1].onclick=function(){ ???????str=aInput[0].value; ???????//alert(typeof str); //从文档中提取的内容皆默认为string ???????if(isNaN(str)){ ???????????alert(str+‘不是数字‘); ???????}else{ ???????????alert(str+‘是数字‘); ???????} ???};};

  上面的这个例子如果不是很懂,可以忽略 不影响 到后面了解更为全面之后 会发现很简单!!!

JS数据类型

原文地址:https://www.cnblogs.com/wssjzw/p/wssjzwtypeof.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved