• 学习javascript 的一点感想


          动态性是指,在一个Javascript对象中,要为一个属性赋值,我们不必事先创建一个字段,只需要在使用的时候做赋值操作即可,如下例:

    1 var obj=new object();
    2 obj.name="myname";
    3 obj.say=function(){
    4     alert("hello");
    5 }
    6 obj.say();

          Javascript是弱类型的,它的数据类型无需在声明时指定,解释器会根据上下文对变量进行实例化,比如:

    1 var s="text";
    2 alert(s);
    3 s=12+5;
    4 alert(s);

          js的数据类型:基础数据类型(字符串,布尔值,数值性(浮点型,整型))和对象类型(对象,数组,函数)

    1     print(typeof obj);  
    2     print(typeof array);  
    3     print(typeof func);  

         //将打印出  
        object  
        object  
        function   
        

         当使用str.length时,JavaScript会自动包装一个临时的String对象,内容为str的内容,然后获取该对象的length属性,最后,这个临时的对象将被释放。

        由于JavaScript是弱类型的,所以JavaScript引擎需要根据上下文来“猜测”对象的类型,这就使得JavaScript的效率比编译型的语言要差一些。

        引用类型,如对象,数组和函数,由于他的大小不受限制,故我们通过对其引用来访问它,引用本身就是个地址。即指向存储复杂对象的位置。

        JavaScript本身是基于原型的,每个对象都有一个prototype的属性来,这个prototype本身也是一个对象,因此它本身也可以有自己的原型,这样就构成了一个链结构。

        解释器传递给函数的是一个类似于数组的内部值,叫arguments,这个在函数对象生成的时候就被初始化了。比如我们传递给adPrint一个参数的情况下,其他两个参数分别为undefined.这样

        我们可以扩展JavaScript解释器环境中内置的对象,这种方式的好处在于,扩展之后的对象可以适用于其后的任意场景,而不用每次都显式的声明

        通过 new 操作符来作用与一个函数,实质上会发生这样的动作:
        首先,创建一个空对象,然后用函数的 apply 方法,将这个空对象传入作为 apply 的第一个参数,及上下文参数。这样函数内部的 this 将会被这个空的对象所替代:

    1 <strong>var triangle = new Shape( "triangle" );  
    2     // 上一句相当于下面的代码  
    3     var triangle = {};  
    4     Shape.apply(triangle, [ "triangle" ]);</strong> 


        

  • 相关阅读:
    响应式笔记(1)
    javascript复制文章加版权声明代码
    div的水平和垂直居中
    javascript随机打乱数组
    javascript操作字符串的方法
    《Javascript高级程序设计》读书笔记(1-3章)
    一个将 footer 保持在底部的最好方法
    Python内置的字符串处理函数整理
    c c++怎么判断一个字符串中是否含有汉字
    shell的if判断
  • 原文地址:https://www.cnblogs.com/mingwaer/p/3508376.html
Copyright © 2020-2023  润新知