喔喔屋

断剑重铸之日


  • 首页

  • 标签

  • 分类

  • 归档

JavaScript面向对象

发表于 2019-06-30 | 分类于 知识点
字数统计: 4.4k | 阅读时长 ≈ 18

面向对象的程序设计

我们可以把 ECMAScript 的对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 创建一个 Object 的实例
var person = new Object();
person.name = "Nicholas";
person.age = 26;
person.job = "Software Engineer";

person.sayName = function(){
alert(this.name);
};

// 对象字面量语法
var person = {
name: "Nicholas",
age: 29,
job: "Software Engineer",

sayName: function(){
alert(this.name);
}
}
阅读全文 »

Java数组

发表于 2019-06-23 | 分类于 数据结构
字数统计: 759 | 阅读时长 ≈ 3
  • 增: O(n) 如果只对最后一个元素操作依然是O(n)?因为resize?
  • 删: O(n) 如果只对最后一个元素操作依然是O(n)?因为resize?
  • 改: 已知索引 O(1);未知索引 O(n)
  • 查: 已知索引 O(1);未知索引 O(n)
阅读全文 »

《JavaScript高级》

发表于 2019-06-23 | 分类于 知识点
字数统计: 6.1k | 阅读时长 ≈ 22

JavaScript 简介

  1. JavaScript 是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成:
    (1) ECMAScript,由 ECMA-262 定义,提供核心语言功能;
    (2) 文档对象模型(DOM),提供访问和操作网页内容的方法和接口;
    (3) 浏览器对象模型(BOM),提供与浏览器交互的方法和接口。

在 HTML 中使用 JavaScript

  1. 把 JavaScript 插入到 HTML 页面中要使用 <script> 元素。使用这个元素可以把 JavaScript 嵌入到 HTML 页面中,让脚本与标记混合在一起;也可以包含外部的 JavaScript 文件。而我们需要注意的地方有:
    (1) 在包含外部 JavaScript 文件时,必须将 src 属性设置为指向相应文件的 URL。而这个文件既可以是与包含它的页面位于同一个服务器上的文件,也可以是其他任何域中的文件。
    (2) 所有 <script> 元素都会按照它们在页面中出现的先后顺序依次被解析。在不使用 defer 和 async 属性的情况下,只有在解析完前面 <script> 元素中的代码之后,才会开始解析后面 <script> 元素中的代码。
    (3) 由于浏览器会先解析完不使用 defer 属性的 <script> 元素中的代码,然后再解析后面的内容,所以一般应该把 <script> 元素放在页面最后,即主要内容后面, </body> 标签前面。
    (4) 使用 defer 属性可以让脚本在文档完全呈现之后再执行。延迟脚本总是按照指定它们的顺序执行。
    (5) 使用 async 属性可以表示当前脚本不必等待其他脚本,也不必阻塞文档呈现。不能保证异步脚本按照它们在页面中出现的顺序执行。
  2. 另外,使用 <noscript> 元素可以指定在不支持脚本的浏览器中显示的替代内容。但在启用了脚本的情况下,浏览器不会显示 <noscript> 元素中的任何内容。

阅读全文 »

《CSS相关》

发表于 2019-06-15 | 分类于 知识点
字数统计: 1.4k | 阅读时长 ≈ 5

基本知识点

  1. 将rel属性的值设置为alternate stylesheet 可以定义候选样式表。如果浏览器能使用候选样式表,它会使用lingk元素的title属性值生成一个候选样式列表。
  2. p.warning{ font-weight: bold;}选择器现在会匹配class属性包含warning的所有p元素,但是其他任何类型的元素都不匹配,不论是否有此class属性。
  3. 属性选择器: h1[class]{},img[alt]{},img[alt=”测试”],a[href][title] ….选择有当前属性的标签赋予样式。p[class~=”warning”]{},选择class属性中包含warning的元素,等价于p.warning。[foo^=”bar”]:选择 foo 属性值以“bar” 开头的所有元素;[foo$=”bar”]:选择 foo 属性值以 “bar” 结尾的所有元素; [foo*=””bar]: 选择 foo 属性值中包含子串“bar”的所有元素。[lang |=”en”]: 选择lang属性等于en或者以 en- 开头的所有元素,比如 lang=”en”、lang=”en-us”。h1 + p {} 选择紧接在一个 h1 元素后出现的 p 元素,” + “ 选择相邻的兄弟元素。
  4. 伪类的顺序很重要: link - visited - focus - hover - active。 p: first-letter{}设置首字母样式。P: first-line{}设置第一行的样式。
  5. css 特殊性: 基本上,用 style 属性编写的规则总是比其他任何规则特殊。具有 ID 选择器的规则比没有 ID 选择器的规则特殊,具有类选择器的规则比只有类型选择器的规则特殊。最后,如果两个规则的特殊性相同,那么后定义的规则优先。
  6. 盒模型: 页面上的每个元素被看做一个矩形框,这个框由元素的内容、内边距、边框和外边距组成。在 CSS 中,width和height指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。
  7. 非标准盒模型: width 属性不是内容的宽度,而是内容、内边距和边框的宽度总和。
  8. CSS3 的 box-sizing 属性可以定义要使用哪种盒模型,但是除了一些非常特殊的场合之外很少需要使用这个属性。目前最好的解决方案是回避这个问题。也就是,不要给元素添加具有指定宽度的内边距,而是尝试将内边距或外边距添加到元素的父元素火子元素。
  9. 外边距叠加: 当两个或更多垂直外边距相遇时,它们将形成一个外边距。这个外边距的高度等于两个发生叠加的外边距的高度中的较大者。这就是一系列空的段落元素占用的空间非常小的原因,因为它们的所有外边距都叠加到一起,形成一个小的外边距。只有普通文档流中块框的垂直外边距才会发生外边距叠加。行内框、浮动框或绝对定位框之间的外边距不会叠加。
  10. 清除浮动:
    (1) 添加没意义的标记 “br style=’clear: both ‘“
    (2) 浮动容器 div
    (3) overflow:hidden 属性自动清理包含的所有浮动元素,缺点会产生滚动条或截断内容。
    (4) 父元素添加 .clearfix::after{ content: ‘’; display: block; clear:both; // zonm : 1 : 兼容IE}
  11. 可以通过链接样式: a:link a:visited a:hover a:active(修改背景图) 来做出很多有趣的效果,比如按钮翻转、气泡提示框……。
阅读全文 »

《代码大全》

发表于 2019-06-01 | 分类于 知识点
字数统计: 7.4k | 阅读时长 ≈ 24

软件构建

  1. 软件构建是软件开发的核心活动;构建活动是每个项目中唯一一项必不可少的工作。
  2. 软件构建的主要活动包括:详细设计、编码、调试、集成、开发者测试(包括单元测试和集成测试)。
  3. 构建也常被称作“编码”和“编程”。
  4. 构建活动的质量对软件的质量有着实质性的影响。

隐喻

  1. 隐喻是启示而不是算法。因此它们往往有一点随意。
  2. 隐喻把软件开发过程与其他你熟悉的活动联系在一起,帮助你更好地理解。
  3. 有些隐喻比其他隐喻更贴切。
  4. 通过把软件的构建过程比作是房屋的建设过程,我们可以发现,仔细的准备是必要的,而大型项目和小型项目之间也是有差异的。
  5. 通过把软件开发中的实践比作是智慧工具箱中的工具,我们又发现,每位程序员都有许多工具,但并不存在任何一个能适用于所有工作的工具,因地制宜地选择正确工具是成为能有效编程程序员的关键。
  6. 不同的隐喻彼此并不排斥,应当使用对你最有益处的某种隐喻组合。

阅读全文 »
1234…7
邱仁亮

邱仁亮

我才发现梦想与现实之间差别

31 日志
10 分类
17 标签
RSS
GitHub E-Mail
Links
  • 学习资源
  • Web前端导航
© 2018 — 2020 邱仁亮 | Site words total count: 41.5k