1.JavaScript语言特点

  1.弱类型,数据类型由数据的值决定

  2.解释性脚本语言--解释器是JS引擎 是浏览器的一部分

  3.运行在客户端浏览器上

  4.有事件驱动机制(按下鼠标,移动窗口等)

  5.与操作系统无关,跨平台语言

2.盒子模型

  标准盒子模型:左右margin+左右padding+左右border+width

  IE盒子模型:左右margin+width(包括padding和border)

3.CSS Sprite 是一种网页图片应用处理技术,将一个页面需要用到的图片整合成一张或少张图片 以此来减少网页的HTTP请求,提高性能,这是它最大的优点

  使用方法 设置其为background-img:url(),设置其定位:background-position:x,y

  它的优点:减少网页的http请求 提升性能

       减少了图片的字节,多张图片合成一张图片的字节小于多张图片的总和

       减少了命名困扰,只需对一张集合的图片命名,提高制作效率

       更换风格方便,只需在一张或少张图片上修改图片的颜色或样式

  它的缺点:合成麻烦

4.link和@import的区别

  1.link属于HTML标签,而import是css提供的

  2.页面加载时,link会被同事加载,而@import引用的css样式会后加载

  3.link无兼容问题,而import只在IE5以上才能被识别到

  4.link的权重高于import

5.CSS中可以继承的属性有:font-size、color

5.在原型链上对数组去重

var a = 10;
function a(){
}
console.log(typeof a);

Array.prototype.unique1 = function (arr) {
var n = []; //一个新的临时数组
for (var i = 0; i < this.length; i++) //遍历当前数组
{
//如果当前数组的第i已经保存进了临时数组,那么跳过,
//否则把当前项push到临时数组里面
if (n.indexOf(this[i]) == -1) n.push(this[i]);
}
return n;
}
var arr = [2,5,8,7,4,9,5,6,1,2,5];
console.log(arr.unique1());

6.关于原型

function A(x){
this.x= x;
}
A.prototype.x = 1;
function B(x){
this.x= x;
}

B.prototype = new A();
var a = new A(2);
var b = new B();
console.log(a.x,b.x);//2 undefined

B的原型由A的构造函数创建 在A构造函数中 x这个属性声明且复制为undefined,当执行b.x 时先在对象中寻找x属性值 若不存在则去原型中寻找

7.关于原型

var A = {n:4399};
var B= function(){this.n = 9999};
var C = function(){var n = 8888};
// 将B和C的原型都设置为A对象
B.prototype =A;
C.prototype = A;
var b = new B();
var c = new C();
// 对象A的属性n++ n=4400
A.n++;
// 这是输出b.n 会先去自己的对象中查找属性 找到n=9999
console.log(b.n);
console.log(c.n);//对象没有属性 去原型中查找 n=4400

8.用for in 遍历对象属性时不仅遍历对象本身的属性和方法,同时会遍历原型链上的属性和方法

Object.prototype.bar = 1;

var foo = {moo : 2};

for(var i in foo){

  console.log(i);

}

9.函数执行后变量无返回值

var x = 1, y = z = 0;

function add(n) {

n = n+1;

}

y = add(x);//执行add 但函数并未return返回值,此时变量会被赋值为undefined

function add(n) {

n = n + 3;

}

z = add(x);//与y同理

10.下列代码的输出结果

alert(typeof(null));  //object

alert(typeof(undefined)); //undefined

alert(typeof(NaN));  //number

alert(NaN==undefined); //false NaN与任何数据类型比较结果都为false

alert(NaN==NaN); //false

var str="123abc";

alert(typeof(str++)); //number 会对str进行隐士转换为Number 但是转换失败 所以类型为number 值为NaN

alert(str);//NaN

JavaScript-- 基础知识面试题的更多相关文章

  1. Javascript基础知识面试题

    []==![] 解题思路: step1,   []==!Boolean([]);step2,   []==!true;step3,   []==false;step4,   [].valueOf()= ...

  2. java基础知识面试题(41-95)

    41.日期和时间:- 如何取得年月日.小时分钟秒?- 如何取得从1970年1月1日0时0分0秒到现在的毫秒数?- 如何取得某月的最后一天?- 如何格式化日期?答:问题1:创建java.util.Cal ...

  3. java基础知识面试题(1-40)

    1.面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面:- 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注这些 ...

  4. Java 基础知识面试题(2020 最新版)

    Java面试总结汇总,整理了包括Java基础知识,集合容器,并发编程,JVM,常用开源框架Spring,MyBatis,数据库,中间件等,包含了作为一个Java工程师在面试中需要用到或者可能用到的绝大 ...

  5. 50道JavaScript基础面试题(附答案)

    https://segmentfault.com/a/1190000015288700 1 介绍JavaScript的基本数据类型 Number.String .Boolean .Null.Undef ...

  6. (转)50道JavaScript基础面试题(附答案)

    https://segmentfault.com/a/1190000015288700 1 介绍JavaScript的基本数据类型 Number.String .Boolean .Null.Undef ...

  7. Java基础知识面试题及答案-整理

    1.String类可以被继承吗?  不能.String类在声明中使用final关键字修饰符.使用final关键字修饰的类无法被继承. Java语言的开发者为什么要将String类定义为final类呢? ...

  8. Java 基础知识面试题

    equals与==有什么区别? (1)==是判断两个变量或实例是不是指向同一个内存空间 (2)equals是判断两个变量或实例所指向的内存空间的值是不是相同 Object有哪些公用方法? (1)equ ...

  9. Java基础知识面试题(最详细版)

    刚刚经历过秋招,看了大量的面经,顺便将常见的Java常考知识点总结了一下,并根据被问到的频率大致做了一个标注.一颗星表示知识点需要了解,被问到的频率不高,面试时起码能说个差不多.两颗星表示被问到的频率 ...

  10. Java基础知识面试题详解(2019年)

    文章目录 1. 面向对象和面向过程的区别 2. Java 语言有哪些特点? 3. 关于 JVM JDK 和 JRE 最详细通俗的解答 JVM JDK 和 JRE 4. Oracle JDK 和 Ope ...

随机推荐

  1. Ionic4.x 中的 UI 组件(UI Components)表单相关组件

    1.ion-input 单行文本框 2.ion-toggle 开关 3.ion-radio-group.ion-radio 单选按钮组 4.ion-checkbox 多选按钮组 5.ion-selec ...

  2. 放射渐变RadialGradient

    public RadialGradient(float centerX, float centerY, float radius, int[] colors, float[] stops, TileM ...

  3. SQL语句里合并两个select查询结果

    SQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 ...

  4. 遍历List集合删除元素的出现报错

    遍历List集合删除元素的出现报错   遍历List集合删除元素的时候会发生索引越界异常或内容遍历不全等问题. 例子: List<String> al = new ArrayList< ...

  5. SpringCloud学习成长之 十 高可用服务注册中心

    文章 第一篇: 服务的注册与发现(Eureka) 介绍了服务注册与发现,其中服务注册中心Eureka Server,是一个实例,当成千上万个服务向它注册的时候,它的负载是非常高的,这在生产环境上是不太 ...

  6. Linux hostname介绍

    以下操作均时基于 Centos 6.8 操作. 一.现象 在平时工作中,当需要修改主机名时,我们一般会这样操作: 第一步,通过 hostname 命令临时修改主机名. hostname kwang-t ...

  7. (错误)在VMmare中安装centos后不能联网

    一.问题 在VMmare中安装centos后不能联网 在Xshell无法连接centos 二.解决方法 2.1 点击Network Adapter 设置如下图所示,首先我们在虚拟机中将网络配置设置成N ...

  8. 解决微信小程序textarea层级太高遮挡其他组件的问题

    <view class='remark'> <view class='title'> 备注说明 </view> <textarea class='mark_t ...

  9. 返回日期格式:2017-12-03T13:58:58.901Z,判断时间间隔 如 “刚刚”,“一分钟前”,“一小时前”等

    后台返回的格式如下: 实现输出如下: 我的处理如下: // 处理数据 2017-11-28T02:41:09.487Z // 请求的时间戳.日期格式按照ISO8601标准表示,并需要使用UTC时间. ...

  10. Can't create a new thread (errno 11) 解决办法 mysql无法连接

    问题的现象: 错误信息: ERROR 1135 (00000): Can't create a new thread (errno 11); if you are not out of availab ...