发表于: 2018-04-25 08:55:29
1 444
今天完成的事:
1.今天修改了任务并且提交
2.做了一波脑图
明计划的事:
1.进入js
2.然后学习一波js新的知识点
遇到的问题:
暂时没有
收获:
JavaScript是一种基于对象的脚本编程语言,是浏览器上的程序语言。当web容器输出内容到浏览器时,这个内容是包含js源代码的,此时,JavaScript可以操作浏览器上的一切内容,在浏览器上提供用户交互,页面美化,增加页面的智能性。
JavaScript是一种基于对象的语言,通过 JavaScript代码来操作对象――访问或者设置对象的属性,编写对象的特定的事件(方法)代码。
JavaScript中的对象是由属性(properties)和方法(methods)两个基本的元素的构成的。前者是对象在实施其所需要行为的过程中,实现信息的装载单位,从而与变量相关联;后者是指对象能够按照设计者的意图而被执行,从而与特定的函数相联。
对象从哪里来?JavaScript可以操作的对象有下列三个来源:
1.浏览器环境和 HTML标签语句所构成的现成对象(链接、图像、插件、HTML表单元素、浏览器细节等);
2.通过 JavaScript的内置类所创建的对象,比如 Data(日期)和 Number(数值);
3.通过 JavaScript编程,用户自己创建的对象;
1.JavaScript 代码的加入
a. JavaScript的代码的加入,通过在Web页中直接写入:
<Script Language="JavaScript">
//JavaScript语言代码;
//JavaScript 语言代码;
//…
</Script>
通过标识<Script> </Script>指明其中包含的是Script脚本代码;
通过Language ="JavaScript"说明标识中使用的语言,这里是JavaScript语言;
可将<Script></Script>标识放入<Head>...</Head>或<Body>...</Body>之间。将 JavaScript标识放置<Head>...</Head>在头部之间,使之在页面文档主体和其余部分代码之前装载。尤其是一些函数的代码,建议读者将这些代码放在<Head>... </Head>在头部之间。
也可以将 JavaScript标识放置在<Body>... </Body>主体之间以实现某些部分动态地创建文档
b. onclick=’javascript:函数名称()’ 直接编写代码或调用代码
c. 使用库函数<script src="指定的Js 文件位置"></script>
把一些 JavaScript代码(尤其是用户自己编写的对象的类文件)组织成可以反复使用的库,具有下列好处:
◆ 减少错误,减少 Web页面的内容。JavaScript库经过严格测试后,可以放心的反复调用,相对于通过拷贝和粘贴把 JavaScript函数插入到每个想要调用它的HTML文件而言。同时也使 HTML文件看起来清楚易读。
◆ 减少网络流量,提高响应速度。当一个 JavaScript库的第一次下载到内存,无论多少页引用该库,浏览器都能访问它。不需要再次下载。
考虑JavaScript 脚本的位置,要注意下列两点:
◆Web 内容在浏览器中是从上到下的顺序解释的。放在 HTML 的<head></head>之间脚本比插入Web 的<body></body>的脚本先处理。比较好的做法是将包含所有预定义函数的脚本放在 Web的<head></head>之间。这样,浏览器在前面遇到这些函数,确保 Web 的<body></body>中的语句能够识别这些函数。同样的道理,在一些网页下载到浏览器中,就会执行的脚本(比如Web页的onload 事件关联的脚本代码),如果这些脚本要访问 HTML 标签所定义的对象,那么要确保这些对象先于脚本执行,否则会出现“对象不存在”的错误。建议设置 IE的浏览器的高级属性中启用脚本调试,可以发现错误存在的地方。
◆ 应用外部脚本库
<script language="JavaScript"src="menu_data.js"></script>,浏览器会在该HTML文件所在的目录下查找 menu_data.js 文件,如果把js 文件存放在别的目录中,则SRC 属性值必须反映出那个目录,也就是必须确保该HTML 文件能够找到 js 文件。
JS中 常见的 陷阱 转
- 区分大小写:变量名、属性和方法全部都区分大小写
- 不匹配的引号、圆括号或花括号将抛出错误
- 条件语句:3个常见陷阱
- 换行:一直用分号结束语句来避免常见的换行问题
- 标点法:在对象声明的尾部逗号将导致出错
- HTML id 冲突
- 变量作用域:全局变量对局部变量
- 函数重载:当重载不存在时,覆盖函数
- 区分string.replace()函数不是全局的
- parseInt应该包含两个参数
- “this”和绑定问题
- 为参数设置默认值,以免你遗漏它们
- for each循环是用于对象而不是数组
- switch语句需要点技巧
- 总是在检查undefined前检查null
- 时间处理陷阱
任务总结:
任务名称:CSS=task13,task14,task15
成果链接:task13,task14和task15
任务耗时:task-13,2018-02-28——2018-03-06,无延期
task14,15 延期,延期20天
技能脑图:附上个人和官方脑图(官方脑图在个人任务统计中可以看到)
任务总结:
- A.任务进度符合预期,延期,原因是任务期间有出现bug重新修改,努力整理代码少出bug
- B.脑图分析
- C.问题:CSS怎么做组件化呢?为什么要做组件化?
- 解决: 在CSS上,保证代码上的模块化,具有独立作用域; 内部的布局,字体的变化(不包括颜色这类是不可控的)只由其最外层容器影响。 概括的说就是,组件内部的布局只受容器变化影响。 在容器不受外部影响变化的前提下,内部容器的样式不被外部所影响
- 收获:CSS是一种扁平的结构,一个Dom可能对应着一个CSS样式,而这些CSS样式很有可能出现公共的部分, 那么提取这些公共的部分也就实现了CSS的组件化,在诸如less和sass出现之前, 开发者都是把公共的CSS样式写成一个个公共class,但是这样之后CSS文件的阅读性就变得困难了, 当然也不容易修改。而less和sass出现之后,使得CSS的编程可以定义变量, 可以实现继承,CSS内容的结构也变得更加清晰,提高了CSS文件的阅读性,更容易让人理解,修改起来也变得简单。
评论