原型链 继承

charCodeAt()
charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
var str = "123abc张文强";
var n = str.length;
function byteLength(str) {
	// for(var i = 0; i < str.length; i++) {
	// 	if(str.charCodeAt(i) > 255) {
	// 		n++;
	// 	}
	// }
	// return n;
	var count = 0;
	for(var i = 0; i < str.length; i++) {
		if(str.charCodeAt(i) > 255){
			count += 2;
		}
		else{
			count ++;
		}
	}
	return count;
}
原型

prototype----- >原型(相当于父亲)
例如:

Person.prototype.height = 1400;
Person.prototype.lang = 4900;
function Person() {
	this.color = color;
}
new person = Person();
new 的时候,创建 var this ={__ proto __:Person.protortype}
原型链

简单的原型链样例:

Grand.prototype.lastName = "Deng";
function Grand() {

}
var grand = new Grand();

Father.prototype = grand;
function Father() {
	this.name = 'xuming';
}

var father = new Father();

Son.prototype = father;
function Son () {
	this.hobbit = 'smoke';	
}
var son = new Son();

yuanxianglianyangtti

//a.sayName()执行
//sayName里面的this指向谁,谁调用的这个方法,this就是指向谁
//所以这个提题的答案是 b;
Person.prototype = {
	name : "a",
	sayName : function () {
		console.log(this.name);
	}
}
function Person () {
	this.name = "b";
}
var person = new Person();
Object.creat(原型)

例如:

obj = { 
	age : 20,
	name : "zhang" 
}
obj1 = Object.creat(obj);

再例如:

	Person.prototype.name = "sunny";
	function Person() {
		//这里面写东西的话就不能模仿了
	}
	var person = Object.creat(Person.prototype);

大多数对象都会继承于Object.prototype;
当Object.creat (null)时,它就没有__proto__;

对象

var zhang { 
 		name : "xiaoqiang",
 		sex : "male",
 		age : "19",
 		gf : "none",
 		wife : "",
 		getMarried : function() {
 			this.wife = this.gf;
 		},
 		divorce : function() {
 			delete this.wife;
 			this.wife = this.pre
 		}
 	}

包装类

原始值没有对象和方法,包装类会起作用,创建一个

new Object().sign = ‘xxx’;
new Object().sign;

//下面这段js代码,运行后x,y,z分别是多少:

var x = 1, y = z = 0;
function add(n) {
	return n = n + 1;
}
y = add(x);
function add(n) {
	return n = n + 3;
}
z = add(x);

//结果为 x = 1,y = z = 4;(预编译后后面的函数回把前面的顶替掉);

parseInt();
parseInt() 函数可解析一个字符串,并返回一个整数(十进制)。
有两个值前面是要解析的字符串,后面是禁制如果不写或者为0的话默认为10;
例如:
在这里插入图片描述

后面的值:
  • 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
  • 如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。
  • 如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
arguments[];
function test(x, y, a){
	a = 10;
	console.log(arguments[2]); 
}
test(1, 2 ,3);
	function test(x, y, a){
	arguments[2] = 10;
	console.log(a);
	}
	test(1, 2, 3);

上面这两串代码的结果都一样都是 10 ;
argunment[]和行参里面的值是一一对应的关系(你动我就动,我动你也动);
字符串有一个方法charCodeAt();

构 造 函 数
	函数名第一个字母大写
	加 new 
	函数体的最前面隐式的加上 this={ };
	最后加上return this;
function Car() {
   this.owner = owner;
   this.carName = "BMW";
   this.height = 1400;
   this.lang = 4900;
   this.color = color;
}
var car = new Car('zhang','red');

经典例题

var obj = {name : "a"};
var obj1 = obj;
obj = {name : "b"};
//问现在console.log(obj1);输出是什么?
//结果是 a ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值