首页 技术 正文
技术 2022年11月11日
0 收藏 501 点赞 4,719 浏览 2453 个字

1、new关键字创建的是引用类型;eg. var box = new Object();     box.name = “Linda”;//引用类型添加属性没问题    alert(box.name);2、基本类型添加属性会输出undefinedeg. var box = “Linda”;     box.height = 185;   alert(box.height);//undefined3、复制变量值:基本类型复制值本身,引用类型复制地址。eg. 基本类型复制变量(即两个变量操作互不影响)     var str1 = “Lee”;       var str2 = str1;       str1 = “hello”;       console.log(str1);//hello       console.log(str2);//leeeg. 引用类型复制变量(box和box2都是指向同一个变量,若是name属性改了,则box.name 和 box2.name的值都会相应改变)        var str3 = new Object();        str3.name = “Bob”;        var str4 = str3;        console.log(str3.name);//Bob        console.log(str4.name);//Bob4、传递参数:参数不会按引用传递(局部变量),直接按值传递,即使变量有基本类型和引用类型之分。eg.基本类型传递参数  function fn(num) { //num是局部变量         num += 10;         return num;       }       var num = 50;       var result = fn(num);       console.log(result);//60       console.log(num);//50 与上面的局部变量无关eg.引用类型传递参数 function fun(obj) {          obj.address = “四川”;        }        var p = new Object();        fun(p);        console.log(p.address);//四川5、检测类型:1)typeof(一般用于检测数据类型)eg.       var ty = true;        console.log(typeof ty);//boolean2)instanceof(检测是什么类型的对象:数组、字符串(特殊)等)eg.     var ty1 = [1, 25, 59, 265];        console.log(ty1 instanceof Array);//检测是否是数组 true        var ty2 = {};        console.log(ty2 instanceof Object);//检测是否是对象 true        var ty3 = /g/;        console.log(ty3 instanceof RegExp);//检测是否是正则 true        var ty4 = new String(“Linda”);  var str = “hello”;       console.log(typeof str);//string

console.log(str instanceof);//false       var str2 = new String(“hello”);      console.log(str2 instanceof String);//true6、执行环境和作用域执行环境定义了函数或变量有权访问的其他数据,并决定了各自的行为。全局执行环境就是最外围的指向环境,即window对象     var box1 = “blue”;        function setBox(){          console.log(box1);//访问全局变量        }        setBox();//执行函数    var boxn=”hello”;        function getBox(){          console.log(window.boxn);//全局变量即window的属性        }        window.getBox();//全局函数即window的方法eg.通过传参替换函数体内的局部变量,但是作用域仅限于函数体内的局部环境  var boxn=”hello”;        function getBox(boxn){//通过传参替换了全局变量          console.log(boxn);//WORLD        }        getBox(“WORLD”);        console.log(boxn);//helloeg.每个函数调用时都会创建自己的执行环境,执行后把控制权交给上一级的执行环境        var color=”yellow”;        function setColor(){          function getColor() { //getColor的执行环境在getColor内            var color1 = “green”;            console.log(color);//yellow            console.log(color1);//green          }          getColor();        }        setColor();7、没有局部作用域:if语句、for语句eg.var关键字在函数体内的意义function number(number1,number2) {          var sum = number1 + number2; //此时sum是局部变量,去掉var就是全局,报错          return sum;        }        console.log(number(15,20));        console.log(sum);//报错 sum is undefined8、内存问题javaScript会自行管理内存分配及无用内存的回收一般来说确保占用最少的内存可让页面获得更好的性能,那么优化内存的最佳方案就是一旦数据不再有用,就将其设置为null来释放引用即解除应用.eg.var p = {   name:”hello”  }  p = null;

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,958
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,482
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,328
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,111
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,743
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,777