以下( )表达式产生一个0~7之间(含0,7)的随机整数.
A. Math.floor(Math.random()*6)
B. Math.floor(Math.random()*7)
C.Math. floor(Math.random()*8)
D.Math.ceil(Math.random()*8)
解析: 此题选C。首先random是产生一个0到1且不包含1的随机小数的一个半开区间,若要取到n,则需要*(n+1)
Math.floor()
方法是向下取整,是对于坐标轴向下取整,会去掉小数点后面的内容。Math.ceil()
方法是向上取整, 即小数部分直接舍去,并向正数部分进1,是对于坐标轴向上取整
关于变量的命名规则,下列说法正确的有哪些()
A)首字符必须是大写,小写的字母,下划线(_
)或美元符($
)。
B)后续的字符可以是字母,数字,下划线或美元符。
C)变量名称不能是保留字。
D)长度是任意。
E)不区分大小写
**解析:**此题选A、B、C。
变量名命名规范r如下:
1、变量命名必须以字母、下划线_
或者”$
为开头。其他字符可以是字母、_
、美元符号或数字。
2、变量名中不允许使用空格和其他标点符号,首个字不能为数字。
3、变量名长度不能超过255个字符。
4、变量名区分大小写。(javascript是区分大小写的语言)
5、变量名必须放在同一行中
6、不能使用脚本语言中保留的关键字、保留字、true、false 和 null 作为标识符。
css 中可继承的属性有哪些()
A. height
B. font-size
C. background-color
D. color
解析: 此题选B、D。
css有继承性的属性有以下内容
1、文本系列属性
text-indent
:文本缩进
text-align
:文本水平对齐
line-height
:行高
word-spacing
:增加或减少单词间的空白(即字间隔)
letter-spacing
:增加或减少字符间的空白(字符间距)
text-transform
:控制文本大小写
direction
:规定文本的书写方向
color
:文本颜色
2、字体系列属性
font
:组合字体
font-family
:规定元素的字体系列
font-weight
:设置字体的粗细
font-size
:设置字体的尺寸
font-style
:定义字体的风格
font-variant:设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。
font-stretch
:对当前的 font-family 进行伸缩变形。所有主流浏览器都不支持。
font-size-adjust
:为某个元素规定一个 aspect 值,这样就可以保持首选字体的 x-height。
3、表格布局属性
caption-side
:设置表格标题的位置。
border-collapse
:设置表格的边框是否被合并为一个单一的边框,还是象在标准的 HTML 中那样分开显示。
border-spacing
:设置相邻单元格的边框间的距离(仅用于"边框分离"模式)。
empty-cells
:设置是否显示表格中的空单元格(仅用于"分离边框"模式)。
table-layout
:为表设置表格布局算法。
4、列表布局属性:
list-style-type
:设置列表项标记的类型。
list-style-image
:使用图像来替换列表项的标记。
list-style-position
:指示如何相对于对象的内容绘制列表项标记。
list-style
:简写属性在一个声明中设置所有的列表属性。
5、元素可见性:visibility
6、生成内容属性:quotes
7、光标属性:cursor
8、页面样式属性:page、page-break-inside、windows、orphans
9、声音样式属性:
speak
、speak-punctuation
、speak-numeral
、speak-header
、speech-rate
、volume
、voice-family
、pitch
、pitch-range
、stress
、richness
、azimuth
、elevation
以下关于盒子模型描述正确的是()
A.标准盒子模型中:盒子的总宽度 = 左右margin + 左右border + 左右padding + width
B.IE盒子模型中:盒子总宽度 = 左右margin + 左右border + width
C.标准盒子模型中:盒子的总宽度 = 左右margin + 左右border + width
D.IE盒子模型中:盒子总宽度 = width
解析: 此题选A
标准盒子模型中:盒子的总宽度 = 左右margin + 左右border + 左右padding + width
IE盒模型中:盒子总宽度 = margin-left + width + margin-right
以下表达式输出是()
parseInt(3,8);parseInt(3,2);parseInt(3,-1);
A. 3 3 3
B.3 3 NaN
C.3 NaN NaN
D.以上都是不对
解析: 此题选C。
parseInt()
方法的第二个参数为一个2到36之间的整数值,用于指定转换中采用的基数。比如参数"10"表示使用我们通常使用的十进制数值系统。省略该参数时,默认为10.特殊情况参数为0时,类似于省略。超出参数范围,无法转换,最终输出结果会变成NaN。当第一个参数有多位,parseInt()
会根据第二个参数来判断,只会转换满足的字符,后面不满足的不会进行转换。
例如parseInt('dsff66',16) ==》 13
。因为十进制最大的数字是9,但是到了十一进制往上,最大的数字是两位数了,这当然不行,所以从10开始往上,就用字母代替,a=10,b=11…z=35来表示。
清楚浮动的几种方式,各自的优点?
①给父元素单独定义高度
优点:简单快速、代码少。
缺点:无法进行响应式布局。
②在标签结尾处加空div标签<div style="clear: both"></div>
优点:简单快速、代码少,兼容性较高。
缺点:增加空标签,不利于页面优化。
③父级定义overflow:hidden
优点:简单快速、代码少,兼容性较高。
缺点:超出部分被隐藏了,在布局的时候要注意。
④父级定义class=“clearfix”,使用after伪类和zoom
.clearfix:after{
content:"";
display:block;
clear:both;
height:0;
overflow:hidden;
visibility:hidden;
}
.clearfix{
zoom:1;
}
优点:写法固定,没有多余结构,兼容性高。
缺点:代码多。
第四种通常情况下用的最多
Javascript中创建对象的几种方法
一、字面量模式创建 :var obj = {}
;
二、调用系统构造函数创建 :var obj=new Object()
;
三、使用原型对象的方式 Object.creacr(obj/null)
四、工厂模式创建:
function createPerson(name,age){
var p=new Object();
p.name=name;
p.age=age;
p.hobby=function(){
console.log("打篮球");
};
}
var person1=createPerson("小明","20");
var person2=createPerson("小米","18");
五、自定义构造函数创建:
构造函数就是一个普通的函数,创建方式和普通函数没有区别,不同的是构造函数习惯上首字母大写。另外就是调用方式的不同,普通函数是直接调用,而构造函数需要使用new关键字来调用。
function Person("name","age"){
this.name=name;
this.age=age;
this.hobby=function(){
console.log("打篮球");
};
}
var person1=new Person("小明","20");
var person2=new Person("小米","18");
call和apply的区别?
语法:foo.call(this, arg1,arg2,arg3) == foo.apply(this, arguments) == this.foo(arg1, arg2, arg3);
相同点:两个方法产生的作用是完全一样的,都是改变了this指向。
不同点:方法传递的参数不同。
call方法:
语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]])
apply方法:
语法:apply([thisObj[,argArray]])
typeof(null),
typeof(undefined),
typeof(NaN),
typeof(NaN==NaN),
typeof([1,2,3])
写出以上代码执行结果?
object、undefined、number、boolear、object
解析:
JS中的数据类型有:number、string、undefined、null、number、string、undefined
typeof的返回类型有:number、string、undefined、number、string、undefined
typeof(null)会返回object这是一历史遗留问题,NaN是一个不是数字的数字,所以它属于number类型,数组的本质也是一个对象