美文网首页
一些JS相关的题目

一些JS相关的题目

作者: Beatrice7 | 来源:发表于2016-05-22 00:40 被阅读74次

变量作用域

var bb = 1;
function aa(bb) {  
 bb = 2;  
 alert(bb);
};
aa(bb);
alert(bb);

函数体内,bb并没有使用var来定义,按理说这个bb在预处理的时候应该是window的属性。但在这里,函数声明的时候,带了一个参数bb,也就是相当于在函数体内声明了var bb。所以,函数里的bb就是函数活动对象的属性。所以函数执行时会输出2。函数执行完后,函数的活动对象被销毁,也就是局部的这个bb被删除了,执行流进入到window,再输出bb,值就是1了。如果声明函数时,把参数那里的bb去掉,这段代码执行起来,结果就是弹出 2 2.

1. var a=b=3

var a=b=3 时a是局部变量,而b是全局变量;
相当于var a = 3;b = 3;b是全局的!

var a,b;
(function(){
    alert(a);
    alert(b);
    var a=b=3;
    alert(a);
    alert(b);
})();
alert(a);
alert(b);

运行结果为:
undefined,undefined,3,3,undefined,3

2. this

var myObject = {
    foo: "bar",
    func: function() {
        var self = this;
        console.log(this.foo);  
        console.log(self.foo);  
        (function() {
            console.log(this.foo);  //此时的this指向window  
            console.log(self.foo);  
        }());
    }
};
myObject.func();

运行结果:
bar
bar
undefined   
bar

3. jQuery

  • jQuery width() 和 height() 方法
    width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。
    height() 方法设置或返回元素的高度(不包括内边距、边框或外边距)。

  • jQuery innerWidth() 和 innerHeight() 方法
    innerWidth() 方法返回元素的宽度(包括内边距)。
    innerHeight() 方法返回元素的高度(包括内边距)。

  • jQuery outerWidth() 和 outerHeight() 方法
    outerWidth() 方法返回元素的宽度(包括内边距和边框)。
    outerHeight() 方法返回元素的高度(包括内边距和边框)。

4. ARP是地址解析协议

ARP是地址解析协议,工作在网络层,简单语言解释一下工作原理。
1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
2:当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机 IP地址,源主机MAC地址,目的主机的IP 地址。
3:当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
4:源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
广播发送ARP请求,单播发送ARP响应。

  • TCP和UDP是传输层,ARP是网络层。FTP应用层。

  • OSI模式把 网络工作 分为七层,彼此不直接打交道,只通过接口(layer interface). IP地址 在第三层, MAC地址 在第二层。协议在发送数据包时,得先封装第三层(IP地址),第二层(MAC地址)的报头, 但协议只知道目的节点的IP地址,不知道其MAC地址,又不能跨第二、三层,所以得用ARP的服务

IP地址分类

  • 1. A类IP地址 一个A类IP地址由1字节的网络地址和3字节主机地址组成 ,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到126.0.0.0。
  • 2. B类IP地址 一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成 ,网络地址的最高位必须是“10”,地址范围从 128 .0.0.0到191.255.255.255。
  • 3. C类IP地址 一个C类IP地址由3字节的网络地址和1字节的主机地址组成 ,网络地址的最高位必须是“110”。范围从 192 .0.0.0到223.255.255.255。

6. jquery ajax中都支持哪些返回类型?

数据类型
$.ajax()函数依赖服务器提供的信息来处理返回的数据。如果服务器报告说返回的数据是XML,那么返回的结果就可以用普通的XML方法或者jQuery的选择器来遍历。如果见得到其他类型,比如HTML,则数据就以文本形式来对待。
通过dataType选项还可以指定其他不同数据处理方式。除了单纯的XML,还可以指定 html、json、jsonp、script或者text。

7. javascript数据类型

js七种数据类型:String Boolean Number null undefined Object Array
五种基本类型:String Boolean Number null undefined
六种返回格式:'string' 'number' 'object' 'function' 'boolean' 'undefined'

  • JavaScript内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。
  • javascript中字符串连接时用Array.join()替换 string += "xx",换来几十倍的速度提升。
console.log(1+ "2"+"2");
console.log(1+ +"2"+"2"); // 1 + 2 + "2"
console.log("A"- "B"+"2");
console.log("A"- "B"+2); //字符串相减就是得出NaN,console.log("B"- "A"+2);也一样是NaN
输出:
122
32
NaN2
NaN

8. 嵌入在HTML文档中的图像格式可以是?

bese64编码文件
常用的页面的图片格式有三种,GIF、JPG、PNG。我们把图像文件的内容直接写在了HTML 文件中,这样做的好处是,节省了一个HTTP 请求。坏处呢,就是浏览器不会缓存这种图像。

9.

indexdDB 是 HTML5 的本地存储,把一些数据存储到浏览器(客户端)中,当与网络断开时,可以从浏览器中读取数据,用来做一些离线应用。
Cookie 通过在客户端 ( 浏览器 ) 记录信息确定用户身份,最大为 4 kb 。
url 参数用的是 get 方法,从服务器上获取数据,大小不能大于 2 kb 。
Session 是服务器端使用的一种记录客户端状态的机制 。
post 是向服务器传送数据,数据量较大。
local Storage 也是 HTML5 的本地存储,将数据保存在客户端中(一般是永久的)。

10. 解释性语言 & 变异性语言

解释性语言和编译性语言的定义:
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。

  • 解释性语言的定义:解释性语言的程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低。现代解释性语言通常把源程序编译成中间代码,然后用解释器把中间代码一条条翻译成目标机器代码,一条条执行。 非独立。
  • 编译性语言的定义:编译性语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。
  • 非独立应该是针对需要解析器来说的。

11. 区分对象与表达式

window.setTimeout(checkState, 10000);
window.setTimeout(checkState(), 10000);

heckState加了圆括弧相当于函数表达式,会立即执行,执行的结果作为返回值传递给settimeout。
checkState不是一个函数 是对象 所以没有()

12.

请问 a 的结果是什么?

if(! "a" in window){
    var a = 1;
}
alert(a); //undefined

知识点有两个:

  1. 变量声明提前
  2. 的优先级高于in, 所以条件语句根本没执行。

function和var会提前声明,而其实{…}内的变量也会提前声明(没有快寄作用域)。于是代码还没执行前,a变量已经被声明,于是 ‘a’ in window 返回true,a被赋值。

13. GET & POST

指针

#include<stdio.h>
void main()
{
    short *p,*q;
    short arr[15]={0};
    p=q=arr;
    p++;
    printf("%d,",p-q);
    printf("%d,",(char*)p-(char*)q);
    printf("%d",sizeof(arr)/sizeof(*arr));
}

指针自增、自减每次移动的偏移量是指针所指向对象的字节大小,所以p++与q的偏移量是2个字节。
指针相减的值是指针地址的偏移除以指针每次移位的大小;
1)p-q=1;偏移量为2个字节,每次移动2个字节,所以为1
2)(char )p-(char )q,指针的偏移没变,但是每次指针移位是按照(char)类型移动,即每次移动1个字节,所以是2
3)数字每次元素2个字节,所以sizeof(arr)为30,sizeof(
arr)为2。

int main(){
  int a;float b,c;
  scanf("%2d%3f%4f",&a,&b,&c);
  printf("\\na=%d,b=%d,c=%f\\n",a,b,c);
}

若运行时从键盘上输入9876543210l,则上面程序的输出结果是a=98,b=0,c=0.000000
%2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格
输入的数据没有以空格或者别的空白符分割,故都属于第一个数

相关文章

  • 一些JS相关的题目

    变量作用域 函数体内,bb并没有使用var来定义,按理说这个bb在预处理的时候应该是window的属性。但在这里,...

  • JS 相关题目地址

    JS 内置对象:http://blog.csdn.net/zdingxin/article/details/630...

  • 第11题- 变量提升和函数提升

    面试题目(腾讯): 下面题目输出结果是什么? 答案解析: 这道题目主要考察JS的变量提升和函数提升相关的知识点 1...

  • JS题目

    JS 1、原型/原型链/构造函数/实例/继承 1. proto(原型) 每个对象又有proto属性,指向创建他的构...

  • 前端面试必问总结

    前言 本文用于总结个人在工作期间总结的一些面试题 题目列表 js的函数声明 js的原型链 js的闭包 js的Pro...

  • 树相关的题目

    二叉树的构建:左子树,跟节点,右子树 二叉树的遍历:前序,中序,后序,DFS,BFS,所有路径 二叉树深度:最大深...

  • Promise相关题目

    实现一个person对象,有eat和dinner两种方法请用实例【依次类推】new Person('Tom').s...

  • 图相关题目

    Minimum Height TreesFor a undirected graph with tree char...

  • web相关题目

    你觉得前端工程师的价值体现在哪? 为简化用户使用提供技术支持(交互部分) 为多个浏览器兼容性提供支持 为提高用户浏...

  • GCD相关题目

    1、以下代码结果会如何? 结果如下: 会造成死锁,主线程中【同步执行+主队列】,造成的互相等待。 2、写一个线程安...

网友评论

      本文标题:一些JS相关的题目

      本文链接:https://www.haomeiwen.com/subject/plcqlttx.html