javascript笔记1(基本数据类型)

一、数据类型
 
ECMAScript有5种简单数据类型(基本数据类型):Undefined、Null、Boolean、Number、String,还有一种复杂数据类型:Object;
 
1.1 typeof操作符
typeof操作符是检测数据类型的,有些时候,typeof操作符会返回一些令人迷惑但技术上却正确的值;
//typeof检测字符串,返回的是"string"类型;
var str="hehe";
console.log(typeof str);//"string";  

//typeof检测数字类型,返回"number";
var num=5;
console.log(typeof num);//"number";  

//typeof检测undefined类型,返回"undefined";
console.log(typeof undefined);//"undefined";  

//typeof检测NaN类型为number;因为NaN类型为number类型;
console.log(typeof NaN);//"number";

//typeof检测函数时,返回"function";
function fun(){};
console.log(typeof fun);//"function";

//typeof 检测null,返回类型为"object";
console.log(typeof null);//"object";

//typeof检测数组是返回的是object对象;
var arr=[];
console.log(typeof arr);//"object";
View Code

1.2 Null数据类型

 Null 类型是第二个只有一个值得数据类型,这个特殊值为null,null值表示一个空对象指针,所以用typeof 操作符检测类型会返回object;
//null 用来表示尚未存在的对象;
var name=null;
console.log(typeof name);//"object";
View Code
1.3 Undefined 
 Undefined也只有一个值得数据类型,这个是就是undefined,表示定义了该变量而未赋值(初始化);
var name;
console.log(name);//undefined;

//undefined 类型检测;
console.log(typeof name);//"undefined";

//typeof 操作符检测未声明的变量,返回的也是undefined;
console.log(typeof yy);//"undefined";

//undefined值是派生自null的值,因此它们的相等性返回true;
console.log(null==undefined);//true;

//由于null值类型为Null,undefined值类型为undefined,所以它们类型不相等;
console.log(typeof null==typeof undefined);//false;

//所以=== undeined和null 不完全相等;
console.log(undefined===null);//false;
View Code
1.4 Boolean类型
 Boolean类型的值有两个,一个是true和false,true和false是区分大小写的,True和Flase(以及其他混合大小写形式)都不是Boolean值,知识标识符;
//要将一个值转换为Boolean值类型,可以调用Boolean();
console.log(Boolean("dddd"));//true;

1.5 Number类型

//NaN非数字类型;
//1、NaN与任何值都不相等,包括NaN本身;
console.log(NaN==NaN);//false;

//NaN用typeof检测NaN类型为number;
console.log(typeof NaN);//"number";

//isNaN检测是否为非数字;
console.log(isNaN(NaN));//true
console.log(isNaN(undefined));//true;
console.log(isNaN("34"));//false;
//备注:isNaN方法会调用valueOf方法把参数强制转化为数字,然后再进行非数字判断;

//es6新增了Number.isNaN()方法,该方法比isNaN可靠,他不会强制转回,只会判断参数是数字时,且值为NaN时才会返回true;
console.log(Number.isNaN("37"));//false;

//数字类型转转;
//1、Number()方法;
console.log(Number("33"));//33;
console.log(Number("fff"));//NaN;
console.log(Number(""));//0
console.log(Number(0xfff));//4095;

//parseInt()方法转换为整数,该方法有两个参数,第一个参数为需转换的值,第二个参数为需转换为多少进制;默认是转换为10进制;
parseInt("123blue");//123;
parseInt("");//NaN;
parseInt(22.5);//22;
parseInt("070");//该为8进制数,转换为10进制数为56;

//parseFloat()转换为浮点数;
parseFloat("1234blue"); //1234 (整数)
parseFloat("22.5"); //22.5

1.6 String类型

1.6.1 字符串的定义

//1、字符串的定义;
var str="hehe";
1.6.2 substring()和substr()和slice(),字符串的截取;
/**
*substring(),substr(),都有两个参数,第一个为截取字符的起始索引,第二个参数为截取字符的结束索引;
*当只有一个参数时,结束索引默认为最后索引;
**/
var num="123456789";
num.substring(0,5);//"12345";
num.substr(0,5);//"12345";

num.slice(0,3);//"123";

num.substring(6);//"789";
num.substr(6);//"789";
num.slice(6);//"789";

/**
*substring和substr和slice不同点;
**/
//1、起始索引大于结束索引;
 var num="123456789";
 num.substring(6,5);//"6";substring该方法会在截取前交换参数,小的为起始索引;
 num.substr(6,5);//"789";substr该方法会把结束索引变为最后一位索引;
 num.slice(6,3);//"";slice方法,起始索引大于结束索引,返回空字符串;

 //2、当起始或结束索引小于0;
 var num="123456789";
 num.substring(-1,6);//"123456";//默认把负数变为0;
 num.substring(6,-1);//"123456";//默认把负数变为0,起始索引大于结束索引,索引截取前会变换位置;

 num.substr(-1,6);//"9",起始索引为负数时,截取最后一位;
 num.substr(6,-1);//"",结束索引为负数时,返回为空字符串;

 num.slice(6,-1);//"78";slice方法,结束索引为负数时,会把结束索引变为倒数的索引;
 num.slice(6,-2);//"7";slice方法,结束索引为负数时,会把结束索引变为倒数的索引;

num.slice(-1,2);//"";slice方法,起始索引为负数时,返回为空字符串;
1.6.3 字符串的分割split();
 
//split()方法能把字符串转换为数组,参数为分割的符号;
var str="1,2,3,4";
str.split(",");//[1,2,3,4];

1.6.4 字符串的查找indexOf();

//indexOf()该方法能查找匹配第一个字符的索引,该方法参数为查找的字符
var str="123456789"; 
str.indexOf(3);//2;
var str="1233456789"; 
str.indexOf(3);//2;

//indexOf(),查找匹配无该字符,则返回-1;
var str="1233456789"; 
str.indexOf("f");//-1;

1.6.5 toLocaleUpperCase()和toLocaleLowerCase();字符串大小写转换;

//把字符串转换为大写;
var str="hehe";
str.toLocaleUpperCase();//"HEHE";

//把字符串转换为小写;
var str="HEHE";
str.toLocaleLowerCase();//"hehe";

 

posted on 2018-07-18 10:59  ∽足迹∽  阅读(132)  评论(0)    收藏  举报

导航