JS之函数与对象v(**V**)v

 1  <script >
 2     //对象知识
 3     //*Q:什么是对象?
 4     //*A:用来存储多个数据,多个数据的封装体,一个对象代表现实世界中的一个事物
 5     //*Q:为什么要用对象?
 6     //*A:统一管理多个数据
 7     //*Q:对象的组成?
 8     //*A:属性:属性名(本质上都是字符串)和属性值(任意类型)组成
 9     //    方法:一种特别的属性(属性值是函数)
10     //*Q:如何访问对象内部数据?
11     //*A:.属性名 编码简单,有时不能用
12     // ['属性名'] 编码复杂,但能通用
13     //*什么情况下只能用['属性名']的方式
14     //*1.属性名包含特殊字符:- 空格
15     //*2.变量名不确定
16     var p={//一个对象代表
17       name:'jxb',
18       age:20,
19       setName:function (name) {
20         this.name=name
21       },
22       setAge:function (age) {
23         this.age=age
24       }
25     }
26     p.setName('Bob')//首先你的得知道括号前面是一个函数你才能加括号
27     console.log(p.name,p.name)//这里输出的是函数的定义
28     p['setAge'](23)
29     console.log(p['age'])//这里读取时候要注意
30 
31     //1.属性名包含特殊字符:- 空格
32     var p={}
33     //给p对象添加这样一个属性值:content-type:text/json
34     //p.content-type='text/json'//这个地方会报错不能用
35     p.type='text/json'//这样真的可以添加属性
36     console.log(p.type)
37     p['content-type']='text/json'
38     console.log(p['content-type'])//注意这里的输出加了p['content-type']
39 
40     //2.属性名不确定
41     var propName='myAge'
42     var value=20
43     // p.propName=value
44     // console.log(p.propName)//老师说这种方法不行,但我试了一下能行
45     p['propName']=value
46     console.log(p[propName])//试了一下感觉这个不能打印出来。
47 
48     //函数知识
49     /*
50     1.什么是函数?
51       * 实现特定功能的n条语句的封装体
52       * 只有函数能执行,其他类型的数据不能执行
53     2.为什么要用函数
54       * 提高代码复用
55       * 提高阅读交流
56     3.如何定义函数
57       *函数声明
58       *表达式
59     4.如何调用(执行)函数
60       *test():直接调用
61       *obj.test():通过对象调用
62       * new test():通过new调用
63       * test.call/apply(obj):obj.test()这种方式只是临时的,临时让test成为obj的方法进行调用
64      */
65 
66     /*
67     编写程序实现以下功能需求
68     1.根据年龄输出以下信息
69     2.如果小于18,输出:未成年,再等等吧!
70     3.如果大于60,输出:算了吧!
71     4.其它,输出:刚好
72     */
73     //函数声明的方式
74     function showInfo (age) {//用函数判断所有的情况
75       if(age<=18){
76         console.log('未成年,再等等吧!')
77       }else if(age>60){
78         console.log('算了吧!')
79       }else{
80         console.log('刚好')
81       }
82     }
83     showInfo(20)
84 
85     //表达式的方式
86     var fn2=function(){
87 
88     }
89     //test.call/apply(obj)
90     var obj={}
91     function test2(){
92       this.xxx='jxb'
93     }
94     //obj.test2()//不能这样调用,也就是不能直接调用
95     test.call(obj)//但JS允许这样调用//可以放一个函数成为任意对象的方法进行调用
96   </script>

猜你喜欢

转载自www.cnblogs.com/junxiaobai/p/10334905.html
V