独书先生 Menu

精确判断js对象类型的方法

1.区别数组还是对象

var arr = [1, 2, 3];

var obj = {“a”: 3, “b”: 4};

判断数组:typeof arr  == “object” && arr.length != undefined

或者arr instanceof Array == true

注意 :arr instanceof Object == true所以instanceof和typeof一样不能单独使用来判断对象

判断对象:typeof obj== “object” && obj.length == undefined

原理:(1) 数组和对象使用typeof都是object

(2) 对象没有长度

 

2.判断数据类型:

编写数据类型判断的通用函数

function getType(obj){
var toString = Object.prototype.toString;
var map = {
'[object Boolean]' : 'boolean',
'[object Number]' : 'number',
'[object String]' : 'string',
'[object Function]' : 'function',
'[object Array]' : 'array',
'[object Date]' : 'date',
'[object RegExp]' : 'regExp',
'[object Undefined]': 'undefined',
'[object Null]' : 'null',
'[object Object]' : 'object'
};
if(obj instanceof Element) {
return 'element';
}
return map[toString.call(obj)];
}

引用自:sysuzhyupeng 感谢!

剪切一个HTML元素到页面上的另一个地方 | Web基础

前端基础知识点巩固

方法:先clone 再append

代码:

HTML:

<div class="container">
    <div class="div1">
        <p class="p1" style="color:red;">
            文字
        </p>
    </div>
    <div class="div3"></div>
</div>

JS:

var $p1 =$(".div1").find(".p1");
var copyP = $p1.clone(true);
$(".div3").append(copyP);
$p1.remove();

 

PS :1.样式也会带过去

2.记得引用jQuery