js学习-自定义函数、对象的字面量、json对象学习小结
一、自定义对象的构造:
var student=new Object(); //object是顶级对象,使用构造函数的方法创建一个对象,此处的意思是创建了一个学生的空对象 student.name="李四"; student.age="24"; //此处属性与方法是无序的 student.sex="男";
//这三句是函数的属性(姓名,年龄,性别) student.sayHi=function(){ console.log("我叫"+student.name+"我的年龄是"+student.age+"我是"+student.sex+"生"); };
//这句是函数的方法(问好) student.sayHi(); //最后可以通过对象名.方法名()调用这个函数。
我们可以通过构造函数的方法来创建一个对象。
function createstudent(name,age,sex){ //此处构造一个//createstudent的函数
var student=new Object(); //创建一个学生对象
student.name=name; //分别给对象的属性赋一个形参
student.age=age;
student.sex=sex;
student.sayHi=function(){ //此处为创建一个匿名函数将其赋给对象的方法,当最后调用这个匿名函数时执行此处代码。
console.log("我叫"+student.name+"我的年龄是 "+student.age+"我是"+student.sex+"生");
};
return student; //将对象返回出去
}
var lisi=createstudent("李四",20,"男");
lisi.sayHi();
这里可以使用关键字this引用的是构造函数当前创建的对象。在这个方法中,this指向的所属的对象是最后用new所创建的Student对象。.
function Student(name, age, sex) {
//(1)var student=new Object(); //(1)、(2)为冗余代码,因为每次调用都必须重新创建对象,并返回
this.name = name;
this.age = age;
this.sex = sex;
this.sayHi = function () {
console.log("我叫" + this.name + "我的年龄是" + this.age + "我是" + this.sex + "生");
};
// (2) return student;
}
var lisi = new Student("李四", 20, "男");//此处创建一个对象
lisi.sayHi();
new 的作用:
1) 先创建一个空对象;2)使用关键字this指向这个对象; 3)执行构造函数里面的代码,并给这个对象设置属性与方法;4)最后返回这个对象
二、对象的字面量:
对象的字面量大多用于只用一次的对象
其书写方式有两种:
第一种:
var o={};
o.name="张三";
o.age=20;
o.sex="男";
o.sayHi=function(){
console.log("我叫:"+ o.name+",我的年龄是:"+ o.age+",我是"+ o.sex+"生。");
};
o.sayHi();
第二种:
var o = {
name: "张三", //前面是键,后面是值,注意必须用逗号隔开
age: 20,
sex: "男",
sayHi: function () {
console.log("我叫:" + this.name + ",我的年龄是:" + this.age + ",我是" + this.sex + "生。");
} //最后不需要加逗号
};
console.log(o.name);
console.log(o.age);
o.sayHi();
//最后的输出方式也可以这样写
console.log(o.["name"]);
console.log(o.["age"]);
//这一种灵活一些,[]里面可以是属性也可以是变量
for…in
//for in
//获得对象之中每一个属性的值
for (var key in o) {
console.log(key + "=======" + o[key]);
}
三.对于JSON对象的简单了解:
通过 jQuery AJAX,使用 HTTP Get 和 HTTP Post,您都可以从远程服务器请求 TXT、HTML、XML 或 JSON。
JSON主要用于与后台数据的传输。
var o = { //json对象 主要用于传输数据
"name": "张三", //前面是键,后面是值,用逗号隔开
"age": 20, //JSON对象必须加上引号这也是与对象字面量定义属性与方法的区别。
"sex": "男",
"sayHi": function () {
console.log("我叫:" + this.name + ",我的年龄是:" + this.age + ",我是" + this.sex + "生。");
}
};
o.sayHi();
js学习-自定义函数、对象的字面量、json对象学习小结的更多相关文章
- js 正则学习小记之匹配字符串字面量优化篇
昨天在<js 正则学习小记之匹配字符串字面量>谈到 个字符,除了第一个 个,只有 个转义( 个字符),所以 次,只有 次成功.这 次匹配失败,需要回溯后用 [^"] 才能匹配成功 ...
- JS常用自定义函数总结
JS常用自定义函数总结 1.原生JavaScript实现字符串长度截取 2.原生JavaScript获取域名主机 3.原生JavaScript清除空格 4.原生JavaScript替换全部 5.原 ...
- 判读是不是对象字面量(纯对象)。对象字面量创建方式有{}、new Object()创建
//判读是否是自身属性 function isHasPro(obj,pro){ return obj.hasOwnProperty(pro) ? true : false; } //判读是不是对象字面 ...
- js之字面量、对象字面量的访问、关键字in的用法
一:字面量含义 字面量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量. 字面量分为字符串字面量(string literal ).数组字面量(array literal) ...
- 学习熟悉箭头函数, 类, 模板字面量, let和const声明
箭头函数:https://blog.csdn.net/qq_30100043/article/details/53396517 类:https://blog.csdn.net/pcaxb/articl ...
- 创建对象的两种方法: new 和 面向对象(对象字面量)及对象属性访问方法
创建对象的两种方法: new 和 面向对象(对象字面量)用 new 时:var o = new Object();o.name = "lin3615";alert(o.name); ...
- Swift编程语言学习1.4——数值型字面量、数值类型转换
数值型字面量 整数字面量能够被写作: 一个十进制数,没有前缀 一个二进制数,前缀是0b 一个八进制数,前缀是0o 一个十六进制数,前缀是0x 以下的全部整数字面量的十进制值都是17: let deci ...
- js 根本没有“JSON对象”这回事! JSON对象——转
前言 写这篇文章的目的是经常看到开发人员说:把字符串转化为JSON对象,把JSON对象转化成字符串等类似的话题,所以把之前收藏的一篇老外的文章整理翻译了一下,供大家讨论,如有错误,请大家指出,多谢. ...
- 使用Gson将对象类转成Json对象时出现\u003d的问题
Gson将对象转成Json对象的方法 Gson gson=new Gson(); String json=gson.toJson(Student.class); 这种情况,如果Student属性中的某 ...
随机推荐
- Json操作(DynamicJson)
Json的简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了 ...
- Metasploit更新
Metasploit更新,官方放弃SVN,开始使用GIT 有一段时间没有写文章了,今天翻译一篇文章吧.以后Metasploit更新,请不要再使用下面的方法了 1 svn co https://www. ...
- 关于ILDASM.EXE的知识整理
因为现在用的VS2010,发现,这个工具自己就带着ILDASM.EXE这个反编译工具 具体的查找方式为: C:\Program Files\Microsoft SDKS\Windows\V7.0\bi ...
- 初识UML
最近的学习中,遇到几次UML图,很是迷糊,确切的说,看不太懂.查阅UML相关资料,基本解决了这个问题.UML看起来还是相当深奥,这里只提一下解决问题的部分知识.(以下知识来自网络) Unified M ...
- WebStorage 和 Cookie的区别
sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web请求之间保存数据.有了本地数据,就可以避免数据在浏览器和服务器间不必 ...
- 第五百八十一天 how can I 坚持
也是醉了,现在买个手机都特么搞饥饿营销,吹牛B就要付出吹牛B的代价,哎,好伤感. 晚上学习也没学好.感觉人和人之间的信任怎么都没了呢..但愿是我想多了,其实就是我想多了,以后说话还是要多注意. 睡觉吧 ...
- C语言中的union
1.union中可以定义多个成员,union的大小由最大的成员的大小决定. 2.union成员共享同一块大小的内存,一次只能使用其中的一个成员,与struct形成鲜明对比. 3.对某一个成员赋值,会覆 ...
- Excel的文件打开特别慢,xls文件特别大解决一例
Excel的文件打开特别慢,xls文件特别大解决一例 打开Excel的xls文件打开特别慢,而且操作也非常慢,动辄需要10几20分钟,很不正常.一个简单的Excel的xls文件有10几兆,甚至几百兆的 ...
- XidianOJ 1097 焊板子的xry111
题目描述 我们知道xry111不仅仅代码写的棒,硬件也不是一般人可以比拟的,比如他可以左手右手加上嘴里叼着一个烙铁一起工作,同时焊接三块板子!Orz,现在他的实验室知道他这么厉害了,准备让他焊接N块板 ...
- css3伸缩布局属性总结
http://www.css88.com/book/css/properties/flex/flex-basis.htm http://c7sky.com/dive-into-flexbox.html ...