发表于: 2018-11-26 21:58:46
1 819
今天完成的事情:今天细致学习了一下js对象:
JavaScript是面向对象编程(Object Oriented Programming,OOP)语言。
面对对象编程的核心思想就是是将真实世界中各种复杂的关系,抽象成一个个对象,然后由对象之间分工合作,完成对真实世界的模拟。
在Javascript中,对象是一个基本数据类型。
对象是一种复合值:它将很多值集合在一起,可通过名字访问这些值。对象也可看做一种无序的数据集合,由若干个“键值对”(key-value)构成。
键名:对象的所有键名都是字符串,所以加不加引号都可以。如果键名是数值,会被自动转为字符串。
对象的每一个“键名”又称为“属性”(property),它的“键值”可以是任何数据类型。如果一个属性的值为函数,通常把这个属性称为“方法”,它可以像函数那样调用。
如果键名不符合标识名的条件(比如第一个字符为数字,或者含有空格或运算符),也不是数字,则必须加上引号,否则会报错。
注意:为了避免这种歧义,JavaScript规定,如果行首是大括号,一律解释为语句(即代码块)。如果要解释为表达式(即对象),必须在大括号前加上圆括号。
创建对象
在JavaScript中,有三种方法创建对象
对象直接量: var o={};
关键字new: var o=new Object();
Object.create()函数: var o=Object.create(null)
对象直接量是由若干名/值对组成的映射表。键名与键值之间用冒号分隔。如果对象内部包含多个键值对,每个键值对之间用逗号分隔。整个映射表用花括号括起来。
对象最常见的用法是创建(create)、设置(set)、查找(query)、删除(delete)、检测(test)和枚举(enumerate)它的属性。 属性包括名字(键名)和值(键值)。
通过两种方式访问对象属性:
person.lastName;person["lastName"];
对象的方法定义了一个函数,并作为对象的属性存储。
对象方法通过添加 () 调用 (作为一个函数)。
name = person.fullName();
person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function()
{
return this.firstName + " " + this.lastName;
}
};
document.getElementById("demo").innerHTML = person.fullName();
如上图如果一个属性有函数他就是方法,访问时直接写对象名和属性名加小括号就行。
JavaScript 对象是属性和方法的容器。
然后是作用域
作用域是可访问变量的集合。
在JavaScript中,能够定义全局作用域或者局部作用域。
在 JavaScript 中, 对象和函数同样也是变量。
在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。
JavaScript 函数作用域: 作用域在函数内修改。
JavaScript 局部作用域
变量在函数内声明,变量为局部作用域。
局部变量:只能在函数内部访问。
JavaScript 全局变量
变量在函数外定义,即为全局变量。
全局变量有 全局作用域: 网页中所有脚本和函数均可使用。
JavaScript 变量生命周期在它声明时初始化。
局部变量在函数执行完毕后销毁。
全局变量在页面关闭后销毁。
如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。
以下实例中 carName 在函数内,但是为全局变量。
JavaScript 事件
事件是可以被 JavaScript 侦测到的行为。
HTML 事件是发生在 HTML 元素上的事情。
当在 HTML 页面中使用 JavaScript 时, JavaScript 可以触发这些事件。
HTML 事件可以是浏览器行为,也可以是用户行为。
HTML 网页中的每个元素都可以产生某些可以触发 JavaScript 函数的事件。
以下是 HTML 事件的实例:
HTML 页面完成加载
HTML input 字段改变时
HTML 按钮被点击
常见的HTML事件
下面是一些常见的HTML事件的列表:
onchange HTML 元素改变
onclick 用户点击 HTML 元素
onmouseover 用户在一个HTML元素上移动鼠标
onmouseout 用户从一个HTML元素上移开鼠标
onkeydown 用户按下键盘按键
onload 浏览器已完成页面的加载
html的事件还有很多,这里就不写了。
JavaScript 字符串用于存储和处理文本。
JavaScript 字符串
字符串可以存储一系列字符,如 "John Doe"。
字符串可以是插入到引号中的任何字符。
在字符串中可以使用转义字符转义的特殊字符:
代码 输出
\' 单引号
\" 双引号
\\ 反斜杠
\n 换行
\r 回车
\t tab(制表符)
\b 退格符
\f 换页符
JavaScript 字符串是原始值,可以使用字符创建: var firstName = "John"
但我们也可以使用 new 关键字将字符串定义为一个对象: var firstName = new String("John")
不要创建 String 对象。它会拖慢执行速度,并可能产生其他副作用
原始值可以使用 JavaScript 的属性和方法,因为 JavaScript 在执行方法和属性时可以把原始值当作对象。
字符串属性
constructor 返回创建字符串属性的函数
length 返回字符串的长度
prototype 允许您向对象添加属性和方法
今天完成了任务14/15.
明天计划的事情:继续学习js基础。
遇到的问题:最近全是记忆性知识,没什么问题。
收获:还在了解js
任务名称:CSS-TASK15;
成果链接:https://gu1354181433.github.io/learn/css14-15/jnshu.html
任务耗时:3天
技能脑图:
个人脑图:
官方脑图:
任务总结:
1:对task14/15考查的是对页面的整体把握,对页面的布局考察的较多,所以在做页面的过程中会对出现的问题反复修改,耗费时间较多,在以后需要多考虑页面的布局
2: 对于页面的整体布局,和利于维护的架构了解并不深,需要在以后的任务中提高意识;sass基本功能的使用较熟练,更高级的用法没有涉及。
3.对css3的新属性有了更深的了解,这次用到了animation和@keyframes属性,来实现轮播图动画。
评论