zoukankan      html  css  js  c++  java
  • javascript高级程序设计小结2

    1.引用类型是保存在内存中的对象,保存在对内存中,而基本类型保存在栈内存中。

    ECMASCript中所有函数的参数都是按值传递的。在向参数传递基本类型时,被传递的值会被复制给一个局部变量(即命名参数,arguments对象中的一个元素)。在向参数传递引用类型的值时,会把这个值在内存中的地址复制给一个局部变量,因此这个局部变量的变化会反映在函数的外部。

    引用类型和基本类型的主要区别在于对象的生存期。使用new操作符创建的引用类型的实例,在执行离开当前作用域前一直保存在内存中。

    var stringVal = "hello world";
    alert(stringVal.slice(3)) // "lo world"
    alert(stringVal.substring(3)) // "lo world"
    alert(stringVal.substr(3)) // "lo world"
    alert(stringVal.slice(3,7)) // "lo w"
    alert(stringVal.substring(3,7)) // "lo w" (不包含7)
    alert(stringVal.substr(3,7)) // "lo worl"(7表示字符数)
    
    alert(stringVal.slice(-3)) // "rld"
    alert(stringVal.substring(-3)) // "hello world"
    alert(stringVal.substr(-3)) // "rld"
    alert(stringVal.slice(3,-4)) // "lo w"
    alert(stringVal.substring(3,-4)) // "lo world"
    alert(stringVal.substr(3,-4)) // ""

    URI编码方法 encodeURI和encodeURIComponent,其中encodeURI不会对本身属于URI的特殊字符进行编码,如冒号,正斜杠,问号和井号;而encodeURIComponent则会对它发现的任何非标准字符进行编码。

    Js所有的函数都有一个prototype属性,这个属性引用了一个对象,即原型对象,也简称原型。

    1. 所有的对象都有__proto__属性,该属性对应该对象的原型.
    2. 所有的函数对象都有prototype属性,该属性的值会被赋值给该函数创建的对

    3. 对象的_proto_属性.
    4. 所有的原型对象都有constructor属性,该属性对应创建所有指向该原型的实例的构造函数.
    5. 函数对象和原型对象通过prototype和constructor属性进行相互关联.

    闭包: 指有权访问另一个函数作用域中的变量的函数。

    Dom操作往往是javascript程序中开销最大的部分,因为NodeList对象是动态的,意味着每次访问Nodelist对象,都会运行一次查询,所以最好的办法是尽量减少Dom操作。

  • 相关阅读:
    mysql perl 抓取update语句
    $/ 改变换行符
    $/ 改变换行符
    java读取jpg图片旋转按比例缩放
    感应器
    lisp分支
    鸡肋的Drools
    postgre去重复记录
    拖拽到指定位置
    base64coder调用
  • 原文地址:https://www.cnblogs.com/fesf/p/7694214.html
Copyright © 2011-2022 走看看