js
extend
jQuery.extend() 函数用于将一个或多个对象的内容合并到目标对象。
注意:
- 如果只为$.extend()指定了一个参数,则意味着参数target被省略。此时,target就是jQuery对象本身。通过这种方式,我们可以为全局对象jQuery添加新的函数。
- 如果多个对象具有相同的属性,则后者会覆盖前者的属性值。
语法:
$.extend( target [, object1 ] [, objectN ] )
第一个参数deep指示是否深度合并
$.extend( [deep ], target, object1 [, objectN ] )
警告: 不支持第一个参数传递 false 。
instanceof
instanceof运算符用于测试构造函数的prototype属性是否出现在对象的原型链中的任何位置
object instanceof constructor
object:要检测的对象.
constructor:某个构造函数
typeof
typeof是一个运算符,有2种使用方式:typeof(表达式)和typeof 变量名,第一种是对表达式做运算,第二种是对变量做运算。
typeof运算符的返回类型为字符串,值包括如下几种:
- ‘undefined’ --未定义的变量或值
- ‘boolean’ --布尔类型的变量或值
- ‘string’ --字符串类型的变量或值
- ‘number’ --数字类型的变量或值
- ‘object’ --对象类型的变量或值,或者null(这个是js历史遗留问题,将null作为object类型处理)
- ‘function’ --函数类型的变量或值
call
call() 方法使用一个指定的 this 值和单独给出的一个或多个参数来调用一个函数。
fun.call(thisArg, arg1, arg2, …)
thisArg
在 fun 函数运行时指定的 this 值。
if(thisArg == undefined|null) this = window,
if(thisArg == number|boolean|string) this == new Number()|new Boolean()| new String()
arg1, arg2, ...
指定的参数列表。
call() 允许为不同的对象分配和调用属于一个对象的函数/方法。
call() 提供新的 this 值给当前调用的函数/方法。你可以使用 call 来实现继承:写一个方法,然后让另外一个新的对象来继承它(而不是在新对象中再写一次这个方法)。
apply
apply( ) 方法调用一个具有给定this值的函数,以及作为一个数组(或类似数组对象)提供的参数。
参数 : 一共有2个参数,均为可选参数
第一个参数:
this指向。(this可能不是该方法看到的实际值:如果这个函数处于非严格模式下,则指定为 null 或 undefined 时会自动替换为指向全局对象,原始值会被包装。)
第二个参数:
一个数组或者类数组对象。(其中的数组元素将作为单独的参数传给 func 函数。如果该参数的值为 null 或 undefined,则表示不需要传入任何参数。)
如果没有传递参数:则为全局变量
call与apply
call()语法和作用与 apply() 方法类似,只有一个区别,
- 就是 call() 方法接受的是一个参数列表,
- apply() 方法接受的是一个包含多个参数的数组。
width:100%与auto
数据类型
数据类型分为引用数据类型和基本数据类型;
基本数据类型有:
-
Number类型
Number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字)两种值。
NaN:非数字类型。特点:① 涉及到的 任何关于NaN的操作,都会返回NaN ② NaN不等于自身。
isNaN() 函数用于检查其参数是否是非数字值。
isNaN(123) //false isNaN(“hello”) //true
-
String类型
字符串有length属性。
字符串转换:转型函数String(),适用于任何数据类型(null,undefined 转换后为null和undefined);toString()方法(null,undefined没有toString()方法)。
- Boolean类型
该类型只有两个值,true和false
- Undefined类型
只有一个值,即undefined值。使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined。
- Null类型
null类型被看做空对象指针,前文说到null类型也是空的对象引用。
null类型进行typeof操作符后,结果是object,原因在于,null类型被当做一个空对象引用。
引用类型 Object类型:
js中对象是一组属性与方法的集合。这里就要说到引用类型了,引用类型是一种数据结构,用于将数据和功能组织在一起。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。
三大引用类型
- Object类型
我们看到的大多数类型值都是Object类型的实例,创建Object实例的方式有两种。
第一种是使用new操作符后跟Object构造函数,如下所示
var person = new Object();
person.name = "Micheal";
person.age = 24;
第二种方式是使用对象字面量表示法,如下所示
var person = {
name : "Micheal",
age : 24
};
- Array类型
数组的每一项可以用来保存任何类型的数据,也就是说,可以用数组的第一个位置来保存字符串,第二个位置保存数值,第三个位置保存对象…另外,数组的大小是可以动态调整的。
创建数组的基本方式有两种
第一种是使用Array构造函数,如下所示
var colors = new Array("red","blue","yellow");
第二种是使用数组字面量表示法,如下所示
var colors = ["red","blue","yellow"];
- Function类型
每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。函数通常是使用函数声明语法定义的,如下所示
function sum(num1,num2){
return num1 + num2;
};
这和使用函数表达式定义函数的方式相差无几。
var sun = function (){
return sum1 + sum2;
};