首页 > 代码库 > web前端开发笔记(2)

web前端开发笔记(2)

web前端开发笔记(1)

一、HTML标签书写有哪些规范?

  1. 页面编码。
  2. 文档声明。
  3. 关键字与描述。
  4. 行内元素不能包含块级元素。
  5. a标签不能嵌套a标签。
  6. 标签名和属性必须用小写字母书写,属性必须加引号,标签必须闭合,单标签页必须闭合。
  7. 页面中不要用 进行缩进,如需缩进,用css控制。
  8. html标签使用必须语义化。
  9. 要为img标签填写alt和title属性。

二、HTML静态页面出现中文乱码如何解决?

  引入<meta charset="UTF-8">

三、通常情况下块属性标签和行内属性标签各自都具有什么特点?

  块属性标签:在没有设置css样式的情况下默认宽度占满整行,可以设置宽高。

  多个行内属性标签在没有设置css样式的情况下会排列在一行,不可设置宽高。

四、css有几种引入方式?每一种具有哪些特点?

  1. 标签内引入:优先级最高,冗余代码多,代码量大,不易维护。
  2. 头部引入:加载速度快,没有服务器请求压力,相对于单页代码量少。代码量大,不易前后台沟通,不易改版与维护。
  3. 外部引入:一个css文件可控制多个页面,代码简洁,易于分工协作。有效利用缓存机制,外部引入中的href属性会给服务器造成请求的压力。

五、你如何理解绝对定位和相对定位?都用在什么地方?

  当页面当中出现叠加时,可以使用绝对定位,或是解决多图浮动时,也可用绝对定位。

  相对定位为绝对定位提供定位的原点,单独使用没有效果。

六、js和java的关系

  java是一种严格的面向对象的程序设计语言,常用于开发基于Internet的应用程序。javascript是一种脚本语言,常用语网页中增强交互性和页面效果,以及进行数据校验等。java是sun公司的产品,而javascript是NetScape公司推出的,二者没有任何联系。

七、什么规范规定了js的语法

  ECMAscript

八、js引入方式

  1. 使用<script></script>标签直接嵌入网页,一般放在head标签内,亦可以放在body标签内,只要保证这些代码在被调用前已读取并加载到内存即可。
  2. 使用外部的js文件,这样的好处是实现表现行为的分离、w3c非常提倡页面、样式、行为都分离,这样页面结构清晰,方便维护和团队的开发。在外部js文件中直接写js代码,引入方式是:<script type="text/javascript" src="http://www.mamicode.com/a.js"></script>
  3. 直接作为某个标签的事件代码:<input type="button" value="http://www.mamicode.com/确定" onclick="documet.write(‘hello‘)"/>

九、js命名规范

  1. 区别大小写。
  2. 首字符必须是字母、下划线或美元符号。
  3. 除了首字符以外的字符,可以由数字、字母、下划线、美元符号等组成。
  4. 不允许包含空格。
  5. 不能以关键字或保留字命名。
  6. 变量名必须为小写字母。
  7. 类的命名使用骆驼命名规则。
  8. 简写单词不能使用大写名称作为变量名。
  9. 方法的命名必须为动词或动词短语。
  10. 公有类的命名必须使用混合名称命名。
  11. css变量的命名必须使用其对应的相同的公共类变量。
  12. 私有类的变量属性成员必须使用混合名称命名,并在前面划下划线。
  13. 变量如果设置为私有,则前面必须添加下划线。
  14. 通用的变量必须使用与其名字一致的类型命名。
  15. 所有的变量名必须使用英文名称。
  16. 变量如有较广的作用域,必须使用全局变量,此时可以设计成一个类的成员。相对的如作用域较小或为私有变量则使用简洁的单词命名。
  17. 如果变量有其隐含的返回值,则避免使用其相似的方法。
  18. 公有变量必须清楚的表达其自身的属性,避免字义含糊不清。
  19. 类构造函数可以使用扩展其基类的名称命名,这样可以正确、迅速的找到其基类的名称。

十、js书写规范

  1. 文件编码统一为UTF-8。
  2. 书写过程中,每行代码结束必须有分号。
  3. 库引入,原则上仅引入jQuery库。
  4. 代码结构明了化,加适量注释,提高函数重用率。
  5. 注重与html分离,减少reflow,注重性能。
  6. 把外部js文件放在html底部,</body>前面。
  7. 优化循环。循环体中若有DOM操作,应该把DOM操作提到循环体外,在同一作用域内,DOM选择赋值给一局部变量。
  8. 避免混乱,建议在html中使用双引号,在js中使用单引号。
  9. 使用更简单的格式写innerscript。
  10. 避免混入其它技术,js不直接控制css样式的设置,控制classname。
  11. 避免全局变量。
  12. 声明变量总是用var。
  13. 获取对象属性的时候用方括号。
  14. 避免使用eval()方法。
  15. 不要省略 " 和 {}。

十一、js数据类型有哪些

  Number 数字类型

  String 字符串类型

  Boolean 布尔类型

  Function 函数

  Object 对象

  Null 空值

  Undefined 没有定义类型

十二、i++ 和 ++i 的区别

  ++i 是先自增1后再参加运算,i++是参与运算后再加1。

十三、变量在js中进行==和===判断的区别是?

  ==是值相等

  ===是完全相等,包括类型

十四、break和continue的区别

  break和continue语句用于在循环中精确的控制代码的执行。

  break语句会立即退出循环,强制继续执行循环后的语句。

  continue语句虽然也是立即退出循环,但退出循环后会从循环的顶部继续执行。

十五、什么事全局变量,什么事局部变量。

  将函数理解为盒子。

  在函数内声明的变量,就是局部变量,在函数外部不能访问。

  在函数外部声明的变量,就是全局变量,在函数内部可以访问。

十六、解释下作用域。

  所有变量都存在于一个执行环境中(也称作用域),这个执行环境决定了变量的生命周期,以及那一部分代码可以访问其中的变量。总结:

  1. 执行环境有全局执行环境和函数执行环境。
  2. 每次进入一个新执行环境,都会创建一个用于搜索变量和函数的作用域。
  3. 函数的局部环境不仅有权访问函数作用域中的变量,而且有权访问其父环境,乃至全局环境。
  4. 全局环境只能访问在全局环境中定义的变量和函数,而不能直接访问局部环境中的任何数据。
  5. 变量的执行环境有利于确定应该何时释放内存。

十七、什么叫做页面重构。

  页面重构可以理解为“将设计稿转换成web页面”,它可以简单到把pad图片直接做成网页,也可以复杂到需要考虑页面中每个标签的使用,考虑页面性能。工作内容一般是“设计稿-切图-写html和css”。页面重构和前端的关系可理解为:页面重构是前端工作的细化。

十八、标签的隐藏(display:none;和visibility:hidden;)的区别

  display:none; 将元素设为none即没有,浏览器在解析none时,是不会作渲染动作的,即不占内存值。

  visibility:hidden; 将元素设为隐藏,虽然在页面上看不出来,但是该占的位置还占着,浏览器依旧会对其作渲染动作,即会占用内存值。

 

欢迎留言~

web前端开发笔记(2)