JavaScript笔记

动态类型与静态类型:

静态类型语言在编译时便已确定变量的类型,而动态类型语言的变量要到程序运行时,待变量被赋值后,才会具有某种类型。


JavaScript变量之基本类型值与引用类型值

引用类型值是指那些可能由多个值构成的对象,是引用类型的一个实例。


JavaScript引用类型主要包括Object,Array,Date,RegExp,Function以及为了操作基本类型值提供的三个特殊引用类型:Boolean,Number和String。


JavaScript中是没有类的概念,其主要依靠原型链实现继承。


对象的原型,就JavaScript真正实现而言,其实对象并无原型,而是对象的构造器(构造函数)与原型。JavaScript对象的__proto__属性默认即指向其构造器原型对象。


构造函数,原型与实例:


每一个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针。而构造函数的实例都包含一个指向原型对象的内部指针。JavaScript中所有对象都默认继承自根对象Object。


给一个构造函数的原型对象赋值为另一个类型的实例,此时原型对象即包含指向另一原型对象的指针,而另一个原型对象中也包含指向其相应构造函数指针,如此便构成了原型与实例的关系链,也即原型链。


function Animal() {
	this.property='Animal';
}

Animal.prototype.getAnimalProperty = function() {
	return this.property;
};

function Dog() {
	this.dogproperty='dog';
}

Dog.prototype=new Animal();

Dog.prototype.getDogProperty = function() {
	return this.dogproperty;
}

var dog = new Dog()
alert(dog.getDogProperty)
alert(dog.getAnimalProperty)


shift:该方法用于把数组的第一个元素从其中删除,并返回被删除的值。如果数组是空的,shift方法将不进行任何操作,返回underfined的值。

unshift:该方法是向数组开头添加一个或者更多元素,并返回新的长度

splice:该方法用于插入,删除和替换数组的元素

slice:该方法是从已有的数组中返回指定的元素


//判读一个数组中是否有相同的元素

function isRepeat1(arrs) {
	if(arrs.length > 0) {
		var s = arrs.join(",")
		for(var i = 0, iLen = arrs.length; i < iLen; i += 1) {
			if(s.replace(arrs[i], "").indexOf(arrs[i]) > -1) {
				return true;
			}
		}
	}

	return false;
}

function isRepeat2(arrs) {
	var hash = {};
	if(arrs.length > 0) {
		for(var i = 0, iLen = arrs.length; i < iLen; i+=1) {
			if(hash[arrs[i]]) {
				return true;
			}
		}
	}
	return false;
}


//JavaScript删除数组重复元素的操作



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值