javascript 面试

判断选中的是哪个?完成foo()方法

<form name="form1" onsubmit="return foo()">
	<input type="radio" name="radioGroup">
	<input type="radio" name="radioGroup">
	<input type="radio" name="radioGroup">
	<input type="radio" name="radioGroup">
	<input type="radio" name="radioGroup">
	<input type="radio" name="radioGroup">
	<input type="submit" value="submit">
</form>

 

function foo(){
	var objs = document.getElementsByName("radioGroup");
	alert(objs.length);
	for(var i=0;i<objs.length;i++){
		if(objs[i].checked==true){
			alert("被选中的是:"+ ++i + "个");
		}
	}
	return false;
}

 

jscript和javaScript是一样的吗?

1.最开始web上只有静态的html 

 

2.为了满足更好的交互需求,netscape开发了在Navigator中使用的LiveScript语言,后改名为JavaScript 

3.Microsoft发行jscript用于internet explorer. 

4.最初的jscript和javascript差异过大,web程序员不得不痛苦的为两种浏览器编写两种脚本。于是诞生了ECMAScript,是一种国际标准化的javascript版本。现在的主流浏览器都支持这种版本。 

5.我们写程序的时候最好写<script language=javascript>而不是<script language=jscript>因为javascript是一个通用的名称,所有浏览器都认识,而jscript只有IE认识。 

6.其他语言细节上的区别,不是一两下能说完的。不过我个人认为编程时最好遵循ECMAscript标准。这样可以保证兼容性。 

7.顺便说一下,javascript原来叫Livescript,后来Sun的java风头正盛的时候netscape就把名字改成javascript

 

var ss="123abc";
alert(typeof(ss++));//number
alert(ss);//NaN
alert(typeof(NaN));//number

 

 

9. 以下哪些不是javascript的全局函数()   

A. eval

B. escape

C. setTimeout

D. parseFloat

备注:window.setTimeout()

 

<link rel=stylesheet type="text/css" href="example.css">

<style type="text/css">
<!--
 @import url(css/example.css);
-->
</style>

 

当一个页面被加载的时候,link引用的CSS会被同时加载,而import引用的CSS会等到页面全部被下载完毕之后被加载。

 

网页分为三层:
结构层:由HTML之类的标记语言负责 创建
表示层:由CSS负责创建
行为层:由JS语言和DOM操作

 

可以将JS打包成一个包,然后再引入,这样就能够节省下载的时间

 

盒子模型:margin border  padding width

 

JS优化:
1、尽量使用语言本身的构造函数和方法
2、减少不必要对象的创建
3、数组的join效率要比直接字符串拼接高很多
4、减少页面重绘

 

Doctype可以告知浏览器文档使用哪种HTML或者是XHTML规范

 

跨域:
1、使用document.domain,只有在用iframe进行数据访问的时候才有用
2、通过脚本标签静态的获取对象
<script type="text/javascript" src="http://...."></script>


返回的最好是一个JSON对象,这样就能够得到对应的数据

 

行内元素:
a b span i bem img input select strong
块级元素:
div ul ol dt dd h1 h2 h3 h4

1. 行内元素会再一条直线上,是在同一行的。比如span和strong;
2. 块级元素各占一行。是垂直方向的!比如div和p.
假如你要将行内元素变成块级元素,那么就只需要在该标签上加上样式——display:block; 块级元素可以用样式控制其高、宽的值,而行内元素不可以

 

行内元素与块级元素有什么不同:

1.尺寸-块级元素和行内元素之间的一个重要的不同点 
行内元素和width

W3C CSS2 标准规定行内元素、非置换元素不会应用width属性

以下例子中,对行内元素<a>应用了width:200px,你可以看到,根本就没有什么效果。

行内元素和height

W3C CSS2 标准规定行内元素、非置换元素不会应用height属性,但是盒子高度可以通过line-height来指定。

以下例子,对行内元素<a>应用了height:50px,你可以看到什么效果都没。

行内元素和padding

你可以给行内元素设置padding,但只有padding-left和padding-right生效

以下例子,行内元素<a>应用了padding:50px。你可以看到对左右的内容有影响,但是对上下没影响。

行内元素和marging

margin属性也是和padding属性一样,对行内元素左右有效,上下无效

1.设置宽度width   无效。

2.设置高度height  无效,可以通过line-height来设置。

3.设置margin 只有左右margin有效,上下无效。

4.设置padding 只有左右padding有效,上下则无效。注意元素范围是增大了,但是对元素周围的内容是没影响的,看图上效果就知道了
2.text-align属性是两者表现的又以不同之处

 在W3C CSS2.1规范第16.2节 对text-align 有详细地描述:
------------------------------------------
值: left | right | center | justify | inherit
初始值:匿名值,由'direction'的值而定,如果'direction'为'ltr'则为'left',如果'direction'为'rtl'则为'right'。
应用于: 块级元素,表格单元格,行内块元素
继承性: 是
计算后的值:初始值或指定值
------------------------------------------
这个特性描述了如何使一个块元素的行内内容对齐。
注意一点,标准里说这个属性是用来对齐行内内容的,所以,不应该对块级内容起作用。
解释一下,行内内容是说由行内元素组成的内容,行内元素大家都知道吧,比如 SPAN 元素,IFRAME元素和元素样式的 ‘display : inline’ 的都是行内元素;块级内容跟则是由块级元素构成,DIV 是最常用的块级元素。块级元素和行内元素的区别是,块级元素会占一行显示,而行内元素可以在一行并排显示
这样,我们对这个特性的认识应该就清楚了。但是,虽然标准里这么规定,那么是不是所有浏览器都遵守呢?答案是否定的。猜猜是哪个浏览器这么特立独行啊? IE!!
IE6/7及IE8混杂模式中,text- align:center可以使块级元素也居中对齐。其他浏览器中,text-align:center仅作用于行内内容上。
解决上面的问题比较好的方式,就是为所有需要相对父容器居中对齐的块级元素设置“margin-left:auto; margin-right:auto”。但这个方式 IE6/IE7/IE8的混杂模式中不支持,所以还要设置父容器的 "text-align:center;"。若居中对齐的子元素内的行内内容不需要居中对齐,则还需要为其设置“text-align:left”。

你可能感兴趣的:(JavaScript)