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操作。

  • 相关阅读:
    async await promise写法
    nginx自动启动脚本
    nginx源码编译安装
    PHP源码编译安装
    MySQL修改root密码的多种方法
    PKG_CONFIG_PATH变量 与 ld.so.conf 文件
    confluence5.65+CentOS+mysql安装破解
    nigos core 安装配置
    cacti+CentOS6.5
    Linux+mysql+apache+php
  • 原文地址:https://www.cnblogs.com/fesf/p/7694214.html
Copyright © 2011-2022 走看看