JS基础学习(四)
来源:互联网 发布:php网站整站源码下载 编辑:程序博客网 时间:2024/06/05 20:39
//构造函数用来创建一个对象
function Person(name ,sex,age){
this.age=age;//如果是age=参数,age并不是这个对象的值因为这个函数中没有,去上一层找,表示的是window.name。
this.name=name;
this.sex=sex;
}
var a=new Person("张三","男",18);//创建一个对象a并初始化
var b=new Person("李四","男",15);//创建一个对象b并初始化
var c=new Person("王二","男",16);//创建一个对象c并初始化
console.log(a.name);
console.log(b.name);
console.log(c.name);
console.log(ainstanceof Person);//用来测试A是不是为person类的对象。
10:原型
(1) 原型对象prototype,每一个函数对象都有一个隐藏的prototype对象,普通函数一般不显示。(2)原型对象相当于一个公共的区域,用来存放所有对象共有的方法和属性。(3)我们创建对象的时候可以把公有的对象,属性和方法都存在prototype对象中。
function Person(name ,age ,sex){
this.name=name;
this.age=age;
this.sex=sex;
};
Person.prototype.SayName=function(){
console.log(this.name);//这个方法为Person这个构造函数创建对象所共有。
}
var zhangsan=new Person("张三",20,"男");//创建张三这个对象
var lisi=new Person("李四",18,"男");//李四张三这个对象
zhangsan.SayName();
lisi.SayName();
11:垃圾回收
Var Obj=new Object();
Obj=null//当我们把对象置空的时候,就没有任何变量对其引用了,他在堆内存中的空间就会被垃圾回收机制当做垃圾回收,把内存释放掉,此时对象也会在内存中销毁。
2:数组
(1)//数组存放同一类数在C C++ 例如整形数组 int a[10]
//在JS中数组为一个对象我们创建一个数组调用其构造函数
var arr=new Array();//创建一个数组,数组为一个连续的存储空间,在JS中数组的长度是最后一个索引的位置+1
arr[0]=1;
arr[1]=2;
arr[10]=5;//那么此时数组长度为10,
arr[arr.length]=10;
arr.length=5;//我们可以自己设置数组的长度
console.log(arr);
(2) 数组定义:
var arr=new Array(1,2,3);//创建一个数组并赋给初始值。
arr=[1,2,3,4,5,6]//创建一个数组,赋给多个初始值,在JS中数组的长度不固定的,长度修改意义不大。
//在 c c++ JAVA 中数组放置同一类型的值,在JS中可以放任意类型的数据
a=["hello",true,null,undefined,NaN,Object,function(){console.log("123")}]
b=[{name:"李白",age:17},{name:"李二",age:11}]//放对象
console.log(b);
console.log(a)
(3)数组的方法
//数组的常用方法
a=[1,2,3,4,5,6]
a.push("name","age");//push()方法在数组最后插入一个或者多个数组,返回值为数组的长度。
console.log(a);
a.pop();//pop()方法取出数组最后一个值并返回这个数值
console.log(a.pop());
a.unshift("df","ce");
console.log(a);//unshift方法在数组的开头插入数据,并返回数组的长度。
a.shift();
console.log(a); //shift()方法删除数组第一个数值,并作为返回值返回。
(4)数组遍历。
function Person(name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
}
var per1=new Person("张三",20,"男");
var per2=new Person("李四",18,"男");
var per3=new Person("王二",10,"男");
a=[per1,per2,per3];
//console.log(a[0].sex);
for(var i=0;i<a.length;i++)
{
if(a[i].age>=18)
{
console.log(a[i]);
}
}
//循环遍历数组
//使用forEach()方法遍历数组。方法的参数为函数对象
a.forEach(function(a,b,c){
console.log(c);//a数组中的元素(第一个参数),b表示数组的下标(第二个参数),c表示当前的数组(第三个参数)
})
- JS基础学习(四)
- JS学习(四)
- js基础练习(四)
- js学习笔记(四)
- processing.js 学习(四)
- vue.js学习(四)
- XML学习基础(四)
- MongDB基础学习(四)
- MongDB基础学习(四)
- Java基础学习(四)
- Python基础学习(四)
- js基础篇四
- JS基础四
- Node.js的学习历程四npm的基础知识点
- JS基础学习(六)
- JS基础学习(八)
- JS基础学习(九)
- JS基础学习(十)
- dockerfile创建nginx镜像
- Why Human-Controlled, Force-Multiplying Robots Are the Future of Work on Earth
- python编程:统计文件中出现次数最多的前10个词,并按出现次数排列它们
- python一些问题的解决
- show('duration')、fadeIn() 和 slideDown() 区别
- JS基础学习(四)
- 开源一个不过百行代码而又强悍与效率的麻将赖子算法!! <开源与原创>
- C程序经典程序集锦(一)
- 学习使我快乐《一》--重拾一年前的react
- git下载源码操作
- [Sicily]1001.Alphacode
- Java Security Architecture--Java安全体系技术文档翻译(六)
- 算法导论学习笔记(一)快速排序及优化
- shiro学习一 (开涛的跟我学系列 ) 身份验证