• 6.8


    1、数组和函数
    concat
    将参数列表连接到原数组后面形成一个新的数组并返回,原有数组不受影响。

    var arr = ["a","b","c"];
    var arr1 = arr.concat("d","e");
    //arr1 = ["a","b","c","d","e"]
    join
    以指定的字符作为分割符,将数组转换为字符串,当指定字符为逗号时,其作用和 toString() 相同。

    var str1 = arr.join(",");
    //str1 = "a,b,c"
    pop
    通俗的讲,就是弹出数组的最后一个元素。结合下面的 push 方法,使得将数组作为栈来使用成为可能。pop 方法返回数组最后一个元素的值,并将 length 属性减 1,即返回后立即丢失最后一个元素。

    var item1 = arr.pop();
    //item1 = "c"
    push
    将参数添加到数组的结尾。

    arr.push("d","e");
    alert(arr);
    //arr = ["a","b","c","d","e"]
    reverse
    将数组中的元素反转排列,这个操作是在原有数组上经行操作,同时也返回数组本身。

    arr.reverse();
    alert(arr);
    //arr = ["c"."b","a"]
    shift
    移去数组的第一个元素,并返回这个元素的值。这个方法的性质和 pop 方法很类似,pop 方法是移去最后一个元素。

    var item1 = arr.shift();
    //item1 = "a"
    unshift
    将参数列表插入到数组的开头。其性质和 push 方法类型,但 push 方法是将元素添加到数组的结尾。

    arr.unshift("d","e");
    alert(arr);
    //arr = ["d","e","a","b","c"]
    slice
    返回数组对象的一个子集,索引从开始(包括开始位置元素),到结束(不包括结束位置元素),
    原有数组不受影响。当 开始或者结束为负数时,则使用他们加上数组长度后的值。如果结束小于等
    于开始,将返回空数组。

    var item1 = arr.slice(1,2);
    //item1 = "b"
    var item2 = arr.slice(-2,-1);
    //item2 = "b"
    splice
    从数组对象中移除指定长度的元素,并替换为新的元素(相当于执行替换操作)。如果没有指定新
    的元素,则相当于执行删除操作。返回被删除元素组成的数组。

    var arr1 = arr.splice(1,2,"d","e");
    //arr1 = ["b","c"]
    alert(arr);//["a","d","e"]
    var arr2 = arr.splice(1,2);
    //arr2 = ["d","e"]
    alert(arr);
    //arr = ["a"]

    2、二维码的插件是什么
    1、首先在页面中加入jquery库文件和qrcode插件。
    <script type="text/javascript" src="jquery.js"></script> 
    <script type="text/javascript" src="jquery.qrcode.min.js"></script> 
    2、在页面中需要显示二维码的地方加入以下代码:
    <div id="code"></div> 
    3、调用qrcode插件。
    qrcode支持canvas和table两种方式进行图片渲染,默认使用canvas方式,效率最高,当然要浏览器支持html5。
    直接调用如下:
    $('#code').qrcode("http://www.helloweba.com"); //任意字符串 
    您也可以通过以下方式调用:
    $("#code").qrcode({ 
    render: "table", //table方式 
    200, //宽度 
    height:200, //高度 
    text: "www.helloweba.com" //任意内容 
    });


    3、禁止鼠标点击的使用方法
    平时我们兼容什么东西总是在调整低版本IE的兼容性,但是这回不是因为低版本浏览器不给力。而是因为
    火狐给力过头了,完全不顾其它浏览器的感受标新立异了。除了火狐之外,所有的浏览器都可以使用
    MouseWheel事件来处理鼠标滚轮的响应。但是火狐却偏偏不支持MouseWheel,而使用无厘头的
    DOMMouseScroll,这玩意儿除了火狐以外其它浏览器都不兼容。也就是说,对于鼠标滚轮事件的处理,
    火狐只能使用DOMMouseScroll。而非火狐则只能使用MouseWheel。
    这两种事件实现的原理不同,他们处理的数据也不同。
    <!DOCTYPE html>
    <style>
    span {font:14px/20px 微软雅黑;}
    #counter {
    50px;height:20px;
    border:1px solid #CCC;
    background:#F9F9F9;
    font:14px/20px Consolas;
    text-align:center;
    margin:10px;
    }
    </style>
    <span>使用鼠标滚轮调整数值大小</span><br/>
    <div id="counter">0</div>
    <script>
    //判断浏览器
    var isIE=navigator.userAgent.match(/MSIE (d)/i);
    isIE=isIE?isIE[1]:undefined;
    var isFF=/FireFox/i.test(navigator.userAgent);
    //获取元素
    var counter=document.getElementById("counter");
    //鼠标滚轮事件
    if(isIE<9) //传统浏览器使用MouseWheel事件
    counter.attachEvent("onmousewheel",function(){
    //计算鼠标滚轮滚动的距离
    //一格3行,每行40像素,所以除以120
    var v=event.wheelDelta/120;
    counter.innerHTML=counter.innerHTML*1+v;
    //阻止浏览器默认方法
    return false;
    });
    else if(!isFF) //除火狐外的现代浏览器也使用MouseWheel事件
    counter.addEventListener("mousewheel",function(e){
    //计算鼠标滚轮滚动的距离
    var v=e.wheelDelta/120;
    counter.innerHTML=counter.innerHTML*1+v;
    //阻止浏览器默认方法
    e.preventDefault();
    },false);
    else //奇葩的火狐使用DOMMouseScroll事件
    counter.addEventListener("DOMMouseScroll",function(e){
    //计算鼠标滚轮滚动的距离
    //一格是3行,但是要注意,这里和像素不同的是它是负值
    var v=-e.detail/3;
    counter.innerHTML=counter.innerHTML*1+v;
    //阻止浏览器默认方法
    e.preventDefault();
    },false);
    </script>


    4、数组里怎样插入和取出内容
    首先定义一个数组 var arr=[2,4,5,3,5,3,0];//这里以整形数组为例
    确定数组的长度arr.length;
    利用循环语句遍历数组
    var arr=[2,4,5,3,5,3,0];
    var arrvalue;//用于存放取出的数组的值
    for(var i=0;i<arr.length;i++){
    arrvalue=arr[i];//数组的索引是从0开始的
    console.log(arrvalue);//把取出的值打印在控制台上
    }

    5、递归

    程序调用自身的编程技巧称为递归( recursion)递归,就是在运行的过程中调用自己。
    递归算法是一种直接或者间接地调用自身的算法。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。
    递归算法解决问题的特点:
    (1) 递归就是在过程或函数里调用自身。
    (2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。
    (3) 递归算法解题通常显得很简洁,但递归算法解题的运行效率较低。所以一般不提倡用递归算法设计程序。
    (4) 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计程序。


    6、函数封装、调用
    function getUserInfo(){

    $.ajax({
    type: "POST",
    url: "/user",
    dataType: "json",
    contentType: "application/json;utf-8",
    timeout: 6000,
    error: function () { },
    success: function (data) { 
    console.log(data); 
    }
    });
    };


    7、内置函数

    javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数 
    1.常规函数
    javascript常规函数包括以下9个函数: (1)alert函数:显示一个警告对话框,包括一个OK按钮。 (2)confirm函数:显示一个确认对话框,包括OK、Cancel按钮。 (3)escape函数:将字符转换成Unicode码。 (4)eval函数:计算表达式的结果。 (5)isNaN函数:测试是(true)否(false)不是一个数字。 (6)parseFloat函数:将字符串转换成符点数字形式。 (7)parseInt函数:将符串转换成整数数字形式(可指定几进制)。 (8)prompt函数:显示一个输入对话框,提示等待用户输入。例如:
    <script language="javascript"> <!-- alert("输入错误"); prompt("请输入您的姓名","姓名");
    //(标题,预设值) confirm("确定否!"); //--> </script> (9)unescape函数:解码由
    escape函数编码的字符。 2.数组函数
    javascript数组函数包括以下4个函数: (1)join函数:转换并连接数组中的所有元素为一个字符串。例: function JoinDemo() { var a, b; a = new Array(0,1,2,3,4); b = a.join("-");//分隔符 return(b);//返回的b=="0-1-2-3-4" } (2)langth函数:返回数组的长度。例: function LengthDemo() { var a, l;

    执行这个函数, 希望有个回调,例如: 接上上面的函数写

    getUserInfo(data,function(data){
    console.log(data);
    })


    8、形参、实参、作用域
    def test(a):
    a = 20
    print("这是在调用函数之时的值: %s"%a)
    a = 10
    print("这是在调用函数之前的值: %s"%a)
    test(a)
    print("这是在调用函数之后的值: %s"%a)

    运行结果:
      这是在调用函数之前的值: 10
      这是在调用函数之时的值: 20
      这是在调用函数之后的值: 10

    结论:当变量重名时函数内部的变量会覆盖外部变量,因此尽量避免重名现象,虽然它能通过语法检查。


    9、全局变量

    全局变量是编程术语中的一种,源自于变量之分。
    变量分为局部与全局,局部变量又可称之为内部变量。由某对象或某个函数所创建的变量通常都是局部
    变量,只能被内部引用,而无法被其它对象或函数引用。
    全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对
    象或函数引用。一个局部变量在被其它对象引用时,会是一个空值。但全局变量却不会出现这种情况。


    10、局部变量
    局部变量(Local variables)指在程序中只在特定过程或函数中可以访问的变量。局部变量是相对于全局
    变量而言的。在C++、C#、Ruby这些面向对象语言中,一般只使用局部变量。面向对象编程是现在普
    遍采用的是软件开发方法,因此无需考虑是局部变量还是全局变量,说到变量,往往都是局部变量。


    11、原型链
    JS在创建对象(不论是普通对象还是函数对象)的时候,都有一个叫做__proto__的内置属性,用于指向创建它的函数对象的原型对象prototype。以上面的例子为例:

    console.log(zjh.__proto__ === person.prototype) //true

    同样,person.prototype对象也有__proto__属性,它指向创建它的函数对象(Object)的prototype

    console.log(person.prototype.__proto__ === Object.prototype) //true

    继续,Object.prototype对象也有__proto__属性,但它比较特殊,为null

    console.log(Object.prototype.__proto__) //null


    12、对象是什么
    JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。
    在 JavaScript 中,对象是拥有属性和方法的数据。
    属性和方法
    属性是与对象相关的值。
    方法是能够在对象上执行的动作。
    举例:汽车就是现实生活中的对象。
    汽车的属性:
    car.name=Fiat

    car.model=500

    car.weight=850kg

    car.color=white 
    汽车的方法:
    car.start()

    car.drive()

    car.brake()

  • 相关阅读:
    Kill Processes in Linux
    How to Setup Chroot SFTP in Linux (Allow Only SFTP, not SSH)
    156 Useful Run Commands
    6
    pandas groupby合并列字符串
    一个ROS配置的脚本
    Mybatis 学习记录
    Android搭建code server
    CF 1616D. Keep the Average High
    第七章:(1)Redis 的发布订阅
  • 原文地址:https://www.cnblogs.com/czfzm/p/6970085.html
Copyright © 2020-2023  润新知