2014百度

var myobject = {
    foo: "bar",
    func: function() {
        var self = this;
        console.log("outer func:this.foo=" + this.foo);//bar
        console.log("outer func:self.foo=" + self.foo); //bar
        (function() {    
          console.log("outer func:this.foo=" + this.foo); //undefined,函数没有调用者时候,this指向window 
          console.log("outer func:self.foo=" + self.foo);  //bar
        })()
    }
}
myobject.func();

在 JavaScript 中,上下文对象就是 this 指针,即被调用函数所处的环境。上下文对象 的作用是在一个函数内部引用调用它的对象本身.

在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。

因此this.foo=undefined;self.foo=bar

同理换一种调用方法:

foo="test";
func=myobject.func();
func();
/*打印结果
outer func:this.foo=test
outer func:self.foo=test
outer func:this.foo=test
outer func:self.foo=test 

this和self都是window,但是因为定义了全局变量,因此都能找到.foo的值

3.随机生成颜色

function getRandomColor(){
    var colorch="#";
    for(var i=0;i<6;i++){
        var a=Math.random();
    var choose=[1,2,3,4,5,6,7,8,9,‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘]
    var num=Math.round(a * 15);
    colorch+=choose[num];
    }
    return colorch;
}

4.至少写5个前端优化的方法

1.减少HTTP请求和请求资源大小(合并图片,用如 YUI Compressor等工具瘦身JS和CSS文件,合并多个CSS文件,合并多个JS文件,图片多时用lazyLoad,压缩图片大小)

2.减少DOM操作(例如用innerHTML="<a href>link<a>"这种方式取代createElement等DOM操作)

3.使用CDN内容分布网络(例如jquery,用户在访问其他网站时可能从微软的CDN下载过Jquery文件放在缓存中,这样你的页面使用jquery不必再请求一次jquery文件)

4.用JSON代替XML来存储和交换数据

5.减少不合理嵌套(如table的td里套table,或者body ul li a这种)

6.减少Cookie(因为每次加载页面都会读本地Cookie)

7.使用HTML5本地缓存机制

8.先加载HTML页面结构,再进行表现层渲染,最后加载JS(CSS外链放头部,JS外链放尾部,因为请求JS会阻塞其他资源的下载请求)

5.实现数字千分位

function comdify(num){
    var ch=num.toString();
    var len=ch.length;
    if(len>3){
        for(var i=len-3;i>0;i-=3){
            ch=ch.substr(0,i)+","+ch.substr(i,len-1);
            len++;
        }
    }
    return ch;
}

6.域名劫持

域名劫持是互联网攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的地址从而实现用户无法访问目标网站的目的。

域名解析(DNS)的基本原理是把网络地址(域名,以一个字符串的形式)对应到真实的计算机能够识别的网络地址(IP地址,比如216.239.53.99 这样的形式),以便计算机能够进一步通信,传递网址和内容等。

由于域名劫持往往只能在特定的被劫持的网络范围内进行,所以在此范围外的域名服务器(DNS)能够返回正常的IP地址,高级用户可以在网络设置把DNS指向这些正常的域名服务器以实现对网址的正常访问。所以域名劫持通常相伴的措施——封锁正常DNS的IP。

如果知道该域名的真实IP地址,则可以直接用此IP代替域名后进行访问。比如访问谷歌 ,可以把访问改为http://216.239.53.99/ ,从而绕开域名劫持。

时间: 2024-10-24 20:37:19

2014百度的相关文章

2014百度之星资格赛题解

比赛链接:点击打开链接 ,,杭电把比赛关了代码都找不到了.. 无责任民科还是mark一下好了.. HDU 4823 Energy Conversion 把式子变换一下发现是一个等比数列,高速幂就可以. #include<stdio.h> #include<iostream> #include<string.h> #include<math.h> using namespace std; #define ll __int64 #define inf 10000

2014百度之星程序设计竞赛

资格赛 Energy Conversion 水题. #include <cstdio> #include <cstring> #include <cstdlib> #include <iostream> #include <algorithm> #include <cmath> #define ll long long using namespace std; int main() { int T; scanf("%d&qu

2014百度之星资格赛—— Xor Sum(01字典树)

Xor Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others) Total Submission(s): 0    Accepted Submission(s): 0 Problem Description Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数,随后 Prometheus 将向 Zeus 发起

2014百度之星资格赛第一题

Energy Conversion Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11867    Accepted Submission(s): 2861 Problem Description 魔法师百小度也有遇到难题的时候-- 现在,百小度正在一个古老的石门面前,石门上有一段古老的魔法文字,读懂这种魔法文字需要耗费大量的能量和大

2014百度之星资格赛第二题

Disk Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2560    Accepted Submission(s): 366 Problem Description 有很多从磁盘读取数据的需求,包括顺序读取.随机读取.为了提高效率,需要人为安排磁盘读取.然而,在现实中,这种做法很复杂.我们考虑一个相对简单的场景.

2014百度之星资格赛第三题

Xor Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others) Total Submission(s): 7837    Accepted Submission(s): 3350 Problem Description Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数,随后 Prometheus 将向 Z

2014百度之星资格赛第四题

Labyrinth Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2911    Accepted Submission(s): 1007 Problem Description 度度熊是一只喜欢探险的熊,一次偶然落进了一个m*n矩阵的迷宫,该迷宫只能从矩阵左上角第一个方格开始走,只有走到右上角的第一个格子才算走出迷宫,每一次只能走一

2014百度之星资格赛——XOR SUM

2014百度之星资格赛--XOR SUM Problem Description Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数,随后 Prometheus 将向 Zeus 发起M次询问,每次询问中包含一个正整数 S ,之后 Zeus 需要在集合当中找出一个正整数 K ,使得 K 与 S 的异或结果最大.Prometheus 为了让 Zeus 看到人类的伟大,随即同意 Zeus 可以向人类求助.你能证明人类的智慧么? Inp

2014百度之星资格赛——Labyrinth

2014百度之星资格赛--Labyrinth Problem Description 度度熊是一只喜欢探险的熊,一次偶然落进了一个m*n矩阵的迷宫,该迷宫只能从矩阵左上角第一个方格开始走,只有走到右上角的第一个格子才算走出迷宫,每一次只能走一格,且只能向上向下向右走以前没有走过的格子,每一个格子中都有一些金币(或正或负,有可能遇到强盗拦路抢劫,度度熊身上金币可以为负,需要给强盗写欠条),度度熊刚开始时身上金币数为0,问度度熊走出迷宫时候身上最多有多少金币? Input 输入的第一行是一个整数T(

2014百度之星资格赛——Disk Schedule

2014百度之星资格赛--Disk Schedule Problem Description 有很多从磁盘读取数据的需求,包括顺序读取.随机读取.为了提高效率,需要人为安排磁盘读取.然而,在现实中,这种做法很复杂.我们考虑一个相对简单的场景. 磁盘有许多轨道,每个轨道有许多扇区,用于存储数据.当我们想在特定扇区来读取数据时,磁头需要跳转到特定的轨道.具体扇区进行读取操作.为了简单,我们假设磁头可以在某个轨道顺时针或逆时针匀速旋转,旋转一周的时间是360个单位时间.磁头也可以随意移动到某个轨道进行