前端必须掌握的姿势(二)

简介: 《基础系列》

CSS2常用选择器类型及其含义

选择器名称 案例 语法格式
标签选择器 h3{font-size:24px;font-family:"隶书“; }< h3>JSP< /h3> 元素标签名{样式属性}
类选择器 .red {color:#F00;} < li class="red">Oracle< /li> . 元素标签class属性值{样式属性}
ID选择器 #p1 {background-color:#0F0;} < p id="p1">content< /p> #元素标签id属性值{样式属性}
包含选择器 div h3{color:red;} < div> < h3>CSS层叠样式表< /h3> < /div> 父元素标签 子元素标签{ 样式属性 }
子选择器 div>ul{color:blue;} < div> < ul> < li>测试1 < ol> < li>嵌套元素< /li> < li>嵌套元素< /li> < li>嵌套元素< /li> < li>嵌套元素< /li> < /ol> < /li> < li>测试1< /li> < li>测试1< /li> < /ul> < /div> 父元素标签名>子元素名{ 样式属性 }

339.引入样式的三种方式及其优先级别

三种引用方式:

1. 外部样式表(存放.css文件中)

不需要style标签

< link rel=”stylesheet” href=”引用文件地址” />

2. 嵌入式样式表

< style type=“text/css”>

p{color:red;}

< /style>

3.内联样式

标签属性名为style

< p style=“color:red;”>< /p>

优先级级别:内联定义最高、内部CSS次之、外部CSS优先级最低。。

340.盒子模型

盒子模型类似于生活中的盒子,具有4个属性,外边距,内边距,边框,内容。

外边距:margin,用于设置元素和其他元素之间的距离。

内边距:padding,用于设置元素内容和边框之间的距离。

边框:border,用于设置元素边框粗细,颜色,线型。

内容:width,height,用于设置元素内容显示的大小。

例如:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<style>

    body{

      margin: 0;  /*取消body默认的外边距*/

    }

#img1{

width:200px;   /*设置图片的宽度*/

border: 2px solid black; /*设置图片边框*/

margin: 5px;

/*设置图片外边距(表示该图片与其他图片的距离为5px)*/

padding:10px; /*设置图片与边框之间的距离*/

}

#img2{

height: 200px; /* 设置图片的高度*/

border: 2px solid black; /*设置图片的边框*/

margin: 5px; /*设置图片外边距*/

padding: 20px; /*设置图片与边框之间的距离*/

}

</style>

<imgid="img1"src="img/2.jpg"/>

<imgid="img2"src="img/lss.jpg"/>

341.JavaScript语言及其特点

Javascript一种基于对象(object-based)和事件驱动(Event Driven)的简单的并具有安全性能的脚本语言。特点:

解释性: JavaScript不同于一些编译性的程序语言,例如C、C++等,它是一种解释性的程序语言,它的源代码不需要经过编译,而直接在浏览器中运行时被解释。

基于对象: JavaScript是一种基于对象的语言。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。

事件驱动: JavaScript可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的响应,是以事件驱动的方式进行的。所谓事件驱动,就是指在主页中执行了某种操作所产生的动作,此动作称为“事件”。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。

跨平台:JavaScript依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。

342.JavaScript常用数据类型有哪些

1、数值型(Number):整数和浮点数统称为数值。例如85或3.1415926等。

2、字符串型(String):由0个,1个或多个字符组成的序列。在JavaScript中,用双引号或单引号括起来表示,如“您好”、‘学习JavaScript’等。 不区分单引号、双引号。

3、逻辑(布尔)型(Boolean):用true或false来表示。

4、空(null)值(Null):表示没有值,用于定义空的或不存在的引用。

要注意,空值不等同于空字符串""或0。

5、未定义(Undefined)值:它也是一个保留字。表示变量虽然已经声明,但却没有赋值。

除了以上五种基本的数据类型之外,JavaScript还支持复合数据类型,包括对象和数组两种。

343.html语法中哪条命令用于使一行文本折行,而不是插入一个新的段落? (B)

A. < TD>
B. < BR>
C. < P>
D. < H1>

分析:

A < td>定义标准表格

C < p>表示文本一个段落

D < h1>表示对文本标题进行强调的一种标签

344.Ajax的优点和缺点

优点:减轻服务器的负担,按需取数据,最大程度的减少冗余请求,局部刷新页面,减少用户心理和实际的等待时间,带来更好的用户体验,基于xml标准化,并被广泛支持,不需安装插件等,进一步促进页面和数据的分离

缺点:AJAX大量的使用了javascript和ajax引擎,这些取决于浏览器的支持.在编写的时候考虑对浏览器的兼容性.

345.怎样防止表单刷新重复提交问题?(说出思路即可)

JS脚本方式:

第一种:定义全局变量,在form提交前判断是否已有提交过

1

2

3

4

5

6

7

8

9

10

11

12

<script>

   varcheckSubmitFlg = false;

   functioncheckSubmit(){

     if(checkSubmitFlg == true){

returnfalse;

     }

     checkSubmitFlg = true;

     returntrue;

  }

 </script>

<form action=""onsubmit="return checkSubmit();">

</form>

第二种:单击提交按钮后,立刻禁用改按钮

第三种:单击提交按钮后,弹出屏蔽层,防止用户第二次点击

346.JQuery.get()和JQuery.ajax()方法之间的区别是什么?

JQuery.ajax()是对原生的javaScript的ajax的封装,简化了ajax的步骤,用户可用JQuery.ajax()发送get或者post方式请求,Jquery.get()是对ajax的get方式的封装,只能发送get方式的请求。

347.Jquery里的缓存问题如何解决?例如($.ajax()以及$.get())

$.ajax()请求时候加上cache:false的参数,如:

1

2

3

4

5

6

7

8

$.ajax({

    type : "get",

    url : "XX",

    dataType : "json",

    cache:false,

    success : function(json) {

    }

});

$.get()请求时候加上时间,如:

$.get("url","data"+new Date(),function(data){});

348.Javascript是面向对象的,怎么体现Javascript的继承关系?

Javascript里面没有像java那样的继承,javascript中的继承机制仅仅是靠模拟的,可以使用prototype原型来实现

349.Javascript的有几种种变量。变量范围有什么不同?

可以分为三种

1、原生类型(string,number,boolean)

2、对象(Date,Array)

3、特殊类型(var vara;(只什么没有定义),var varb = null;(定义一个变量并赋值为null))

350.Js如何获取页面的dom对象

1、直接获取

//1.1 -- id方式获取

var varid = document.getElementById("unameid");

//1.2 -- name获取(获取的是数组对象)

var varname = document.getElementsByName("sex");

//1.3 -- 元素获取(获取的是数组对象)

var varinput = document.getElementsByTagName("input");

2、间接方式获取

//2.1 父子关系 --childNodes

var varchilds = document.getElementById("div01").childNodes;

//2.2 子父关系--parentNode

var varfather2 = document.getElementById("unameid").parentNode;

//2.3 兄弟之间相互获取 nextSibling:下一个节点 previousSibling:上一个节点

351.Servlet API中forward() 与redirect()的区别?

答:为实现程序的模块化,就需要保证在不同的Servlet之间可以相互跳转,而Servlet中主要有两种实现跳转的方式:FORWARD方式与redirect方式。

Forward() : 是服务器内部的重定向,服务器直接访问目标地址的URL,把那个URL的响应内容读取出来,而客户端并不知道,因此在客户端浏览器的地址栏里不会显示跳转后的地址,还是原来的地址。由于在整个定向的过程中用的是同一个Request,因此FORWARD会将Request的信息带到被定向的JSP或Servlet中使用。

Redirect():则是客户端的重定向,是完全的跳转,即客户端浏览器会获取跳转后的地址,然后重新发送请求,因此浏览器中会显示跳转后的地址。同时,由于这种方式比FORWARD方式多了一次网络请求,因此其效率低于FORWARD方式,需要注意到的是,客户端的重定向可以通过设置特定的HTTP 头或写JavaScript脚本来实现。

鉴于以上的区别,一般当FORWARD方式可以满足需求时,尽可能的使用FORWARD方式。但在有些情况下,例如,需要跳转到一个其他服务器上的资源时,则必须使用redirect 方式。

352.Session域和request域什么区别?

作用域:存放数据,获取数据(传递数据)

有效的作用域:生命周期,作用范围

httpServeltRequest:

生命周期:一次请求之间

作用范围:所有被请求转发过的servlet都能获取到

httpSession:

生命周期:一次会话

作用范围:所有的servlet都可以获取到

servletContex:

生命周期:从项目开始运行到服务器关闭

作用范围:所有的servlet都可以获取到

作用域如何选用?

httpServeltRequest:和当前请求有关的信息

httpSession:和当前用户有关的信息

servletContex:访问量比较大,不易更改

353.页面中有一个命名为bankNo的下拉列表,写js脚本获取当前选项的索引值,如果用jquery如何获取

var a = document.getElementsByName("bankNo")[0].value;

var b = $("select[name=bankNo]").val();

354.写出要求11位数字的正则表达式

^[1-9]\d{10}$

355.分别获取指定name、Id的javascript对象,如果用jquey如何获取


js:

  id--document.getElementById("id");

  name--document.getElementsByName("name");

jquery

  id--$("#id");

  name--$("元素名称[name="name值"]");

356.一个页面有两个form,如何获取第一个form

用id方式获取;document.getElementById("id");

357.如何设置一个层的可见/隐藏

可见 : document.getElementById("divid").style.display = "block";

隐藏 : document.getElementById("divid").style.display = "none";

358.描述JSP中动态INCLUDE与静态INCLUDE的区别?

动态导入

1、会将多个jsp页面分别再编写成java文件,编译成class文件

2、jsp文件中允许有相同的变量名,每个页面互不影响

3、当java代码比较多优先选用动态导入

4、效率相对较低,耦合性低

静态导入

1、会将多个jsp页面合成一个jsp页面,再编写成java文件,编译成class文件

2、jsp文件中不允许有相同的变量名

3、当java代码比较少或者没有java代码是优先选用静态导入

4、效率相对较高,耦合性高


列举JSP的内置对象及方法

request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。

response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)

out对象是javax.jsp.JspWriter的一个实例,提供了几个方法使你能用于向浏览器回送输出结果

pageContext表示一个javax.servlejt.sp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。

session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息

applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息

config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。

page表示从该页面产生的一个servlet实例

Exception异常


列举jsp的四大作用域

page、request、session、application


html和xhtml的区别是什么?

HTML与XHTML之间的差别,粗略可以分为两大类比较:一个是功能上的差别,另外是书写习惯的差别。关于功能上的差别,主要是XHTML可兼容各大浏览器、手机以及PDA,并且浏览器也能快速正确地编译网页。

因为XHTML的语法较为严谨, 所以如果你是习惯松散结构的HTML编写者,那需要特别注意XHTML的规则。但也不必太过担心,因为XHTML的规则并不太难。下面列出了几条容易犯的错误,供大家引用。

1:所有标签都必须小写

在XHTML中,所有的标签都必须小写,不能大小写穿插其中,也不能全部都是大写。看一个例子。

错误:< Head>< /Head>< Body>< /Body>

正确:< head>< /head>< body>< /body>

2:标签必须成双成对

像是< p>...< /p>、< a>...< /a>、< div>...< /div>标签等,当出现一个标签时,必须要有对应的结束标签,缺一不可,就像在任何程序语言中的括号一样。

错误:大家好< p>我是muki

正确:< p>大家好< /p>< p>我是muki< /p>

3:标签顺序必须正确

标签由外到内,一层层包覆着,所以假设你先写div后写h1,结尾就要先写h1后写div。只要记住一个原则“先进后出”,先弹出的标签要后结尾。

错误:< div>< h1>大家好< /div>< /h1>

正确:< div>< h1>大家好< /h1>< /div>

4:所有属性都必须使用双引号

在XHTML 1.0中规定连单引号也不能使用,所以全程都得用双引号。

错误:< div style=font-size:11px>hello< /div>

正确:< div style="font-size:11px">hello< /div

5:不允许使用target="_blank"

从XHTML 1.1开始全面禁止target属性,如果想要有开新窗口的功能,就必须改写为rel="external",并搭配JavaScript实现此效果。

错误:< a href="http://blog.mukispace.com" target="_blank">MUKI space< /a>

正确:< a href="http://blog.mukispace.com" rel="external">MUKI space< /a>


你做的页面用哪些浏览器测试过?这些测试的内核分别是什么?

1、Trident内核代表产品Internet Explorer,又称其为IE内核。 Trident(又称为MSHTML),是微软开发的一种排版引擎。使用Trident渲染引擎的浏览器包括:IE、傲游、世界之窗浏览器、Avant、腾讯TT、Netscape 8、NetCaptor、Sleipnir、GOSURF、GreenBrowser和KKman等。

2、Gecko内核代表作品Mozilla ,FirefoxGecko是一套开放源代码的、以C++编写的网页排版引擎。Gecko是最流行的排版引擎之一,仅次于Trident。使用它的最著名浏览器有Firefox、Netscape6至9

3、WebKit内核代表作品Safari、Chromewebkit , 是一个开源项目,包含了来自KDE项目和苹果公司的一些组件,主要用于Mac OS系统,它的特点在于源码结构清晰、渲染速度极快。缺点是对网页代码的兼容性不高,导致一些编写不标准的网页无法正常显示。主要代表作品有Safari和Google的浏览器Chrome。

4、Presto内核代表作品OperaPresto, 是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。它取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。

相关文章
|
6月前
|
移动开发 前端开发 JavaScript
大前端时代
大前端时代
96 1
|
6月前
|
前端开发
前端必看的8个HTML+CSS技巧 (2)
前端必看的8个HTML+CSS技巧 (2)
|
1月前
|
前端开发 JavaScript 数据可视化
前端实用网站
【10月更文挑战第3天】
16 1
|
5月前
|
资源调度 前端开发 JavaScript
|
6月前
|
前端开发 JavaScript
前端必看的8个HTML+CSS技巧 (1)
前端必看的8个HTML+CSS技巧 (1)
|
编解码 移动开发 前端开发
什么是前端,前端是什么?
什么是前端,前端是什么?
179 0
|
缓存 前端开发 JavaScript
每天几个前端小知识
每天几个前端小知识
58 0
|
XML 前端开发 JavaScript
前端三剑客
前端三剑客
156 0
|
前端开发 JavaScript UED
关于前端的一些思考
前端开发作为Web前端的重要组成部分,越来越受到关注。为了在竞争激烈的市场中脱颖而出,我们需要不断创新并进行原创性的开发。
99 0
|
前端开发
什么是前端
什么是前端自制脑图
75 0
什么是前端