面试经典

get和post请求的区别

1、GET请求,请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接。

POST请求:POST请求会把请求的数据放置在HTTP请求包的包体中。GET请求的数据会暴露在地址栏中,而POST请求则不会。

2、传输数据的大小

在HTTP规范中,没有对URL的长度和传输的数据大小进行限制。但是在实际开发过程中,对于GET,特定的浏览器和服务器对URL的长度有限制。因此,在使用GET请求时,传输数据会受到URL长度的限制。

对于POST,由于不是URL传值,理论上是不会受限制的,但是实际上各个服务器会规定对POST提交数据大小进行限制,Apache、IIS都有各自的配置。

3、安全性

POST的安全性比GET的高。这里的安全是指真正的安全,而不同于上面GET提到的安全方法中的安全,上面提到的安全仅仅是不修改服务器的数据。比如,在进行登录操作,通过GET请求,用户名和密码都会暴露再URL上,因为登录页面有可能被浏览器缓存以及其他人查看浏览器的历史记录的原因,此时的用户名和密码就很容易被他人拿到了。除此之外,GET请求提交的数据还可能会造成Cross-site request frogery攻击

数组去重

利用indexOf方法;

var aa=[1,3,5,4,3,3,1,4]
function arr(arr) {
  var result=[]
  for(var i=0; i<arr.length; i++){
    if(result.indexOf(arr[i])==-1){
      result.push(arr[i])
    }
  }
  console.log(result)
}      
arr(aa)
//利用splice()方法
 2 var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5];
 3 function removeDuplicatedItem(arr) {
 4    for(var i = 0; i < arr.length-1; i++){
 5        for(var j = i+1; j < arr.length; j++){
 6            if(arr[i]==arr[j]){
 8              arr.splice(j,1);//console.log(arr[j]);
 9               j--;
10            }
11        }
12    }
13    return arr;
14 }
15 
16 arr2 = removeDuplicatedItem(arr);
17 console.log(arr);
18 console.log(arr2);

数组排序

function compare(value1,value2){return value1-value2}
var arr=[0,54,21,3,56]
arr.sort(compar)

伪数组(类数组):

无法直接调用数组方法或期望length属性有什么特殊的行为,不具有数组的push,pop等方法,但仍可以对真正数组遍历方法来遍历它们。典型的是函数的argument参数,还有像调用getElementsByTagName,document.childNodes之类的,它们都返回NodeList对象都属于伪数组。可以使用Array.prototype.slice.call(伪数组)将数组转化为真正的Array对象。
  var args = Array.prototype.slice.call(arguments); //为了使用unshift数组方法, 将argument转化为真正的数组
        args.unshift('app');

这里把符合以下条件的对象称为伪数组:

1,具有length属性

2,按索引方式存储数据

3,不具有数组的push,pop等方法

使用Array.prototype.slice.call();

Array.prototype.slice.call({  
 0:"likeke",  
 1:12,  
 2:true,  
 length:3  
});  
//["likeke", 12, true] 

使用[].slice.call(),了解js原型链的都知道,实际上这种方法和第一中方法是一样的,但上面第一种方式相对效率更高。

[].slice.call({  
 0:"likeke",  
 1:12,  
 2:true,  
 length:3  
});  
//["likeke", 12, true]  

使用ES6中Array.from方法;

Array.from({  
 0:"lk",  
 1:12,  
 2:2013,  
 3:"长安大学",  
 length:4  
});  
//["lk", 12, 2013, "长安大学"]  

javascript面向对象(给对象添加属性和方法的方式)

在定义对象时,直接把属性和方法添加,
<script type="text/javascript">
        //给对象直接在定义时添加属性和方法
        var g = {
                    name:"张三",
                    age:23,
                    sum:function(i,j)
                    {
                        return i+j;
                    }
                };

            alert(g.name);
            alert(g.age);
            alert(g.sum(20,25));
    </script>
2 通过原型prototype模式给对象添加属性和方法,
<script type="text/javascript">
        //应用原型,添加成员变量
        //创建一个构造函数或者类
        var People = function(){};
        //创建对象,通过构造函数
        var p1 = new People();
        var p2 = new People();
        //通过原型prototype 给People类的所有对象添加成员变量
        var pt = People.prototype;
        pt.name = "明铭";
        pt.age = 23;
        //通过原型prototype,给People添加方法
        pt.add = function(i,j)
                         {
                            return i+j;
                         }
        alert(p1.name);
        alert(p2.age);
        alert(p1.age == p2.age);
        alert(p2.add(20,20));
        //People不是静态成员,因此不能直接调用属性(输出undefind)
        alert(People.age);
    </script>
Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值