PHP |
ECMAScript |
|
数据类型 | 基本:String、Integer、Float、Boolean | 基本:String、 Number、 Boolean、NULL、undefined |
复合:Array、Object | 复合:Array、 Object、 Function | |
特殊:NULL 和 Resource | ||
强弱类型 | 弱类型 | 弱类型 |
隐式类型转换 | . //.点号字符串连接转换为字符串 | + //有一个为字符串则都转为字符串 |
(运算符/语句) | -*/%++-- //有float会转换为float,否则为int | -*/%++-- //转为数字 |
!&& || //转为布尔值然后再运算 | !&& || //转为布尔值然后再运算 | |
<、>、<=、>= //转为数字或字符串比较 | <、>、<=、>= //转为数字或字符串比较 | |
显示类型转换 | setType(变量,类型); //设定变量的类型 | |
(bool) $a //转成布尔型 | Boolean(a) // 转成布尔型 | |
(string) $a //转成字符串 | String(a) // 转成字符型 | |
Number(a) //整体转换为数值型 |
||
(int) $ae //转成整型 (int)23.45 = 23 | parseInt(a) //解析为整型,从左往右,遇到非数字即停止 | |
(float) $a //转成浮点型 |
parseFloat(a) //解析为浮点型,从左往右,会识别第一个小数点 |
|
(array) $a //转成数组 |
||
(object) $a //转成对象 |
||
(unset)$a // 转换为NULL (PHP 5) | ||
数据类型判断 |
isset($a): //变量是否已经声明 |
typeof(a) !==’undfined’ //通过typeof判断变量是否存在 |
empty($a): //变量是否为空 |
||
defined(PI): //常量是否已经定义 |
||
is_string($a): // 检测变量是否是字符串 |
typeof(a) ==’string’ //通过typeof判断是否为strring | |
is_int($a): // 检测变量是否是整数 |
typeof(a) ==’number’ //通过typeof判断是否为number | |
is_float($a): // 检测变量是否是浮点型 |
||
is_numeric ($a) //检测是 否为数字或数字字符串 |
||
is_bool($a): // 检测变量是否是布尔型 |
typeof(a) ==’boolean’ //通过typeof判断是否为boolean | |
is_array($a): // 检测变量是否是数组 |
||
is_object($a): // 检测变量是否是一个对象 |
array/null/object 通过typeof 返回都都是object类型 | |
is_null($a): // 检测变量是否为 NULL |
||
typeof(a) ==’undfined’ //通过typeof判断是否为undfined | ||
typeof(a) ==’function’ //通过typeof判断是否为function | ||
在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. 可以很好地判断JS的数组
var arr = []; console.log(Object.prototype.toString.call(arr)) //"[object Array]"
时间: 2024-11-07 13:08:17