zoukankan      html  css  js  c++  java
  • javaScript知识点梳理

    1、JS中的六种数据类型:boolean,string,number,null,undefined。

    2、 

     var one; 
     var two=null; 
     console.log(one==two,one ===two);    //true,false

      one==two是loose comparison,比较的是值;one===two是strict comparison,既比较值,又比较类型。即

                      == equality 等同,=== identity 恒等

      one的值是undefined,two的值为null。js中undefined的值派生自null值,所以规定undefined==null

    3、盒子模型。详情按F12。

    4、angularjs中的自定义服务有factory,service,provider。

    5、JS中定义的函数会优先解析,而不是顺序解析(同步模式),并且若方法同名,后者会覆盖前者。

    6、代码从上往下的一次执行,这种模式称之为同步。一部分先执行;另一部分在未来执行的模式称之为异步,如:ajax的post请求的callback回调函数。

    7、Array数组对象:

            将已知的arr数组复制给新数组 : var a = arr.slice(0);

    8、

    1 var obj={“key”:“1”,“value”:“2”};
    2 var newObj = obj;   //相当于两个对象指向同一个地址,
                                    //修改其中任何一个,另一个也会受到影响

    9、$(emit)是向上冒泡   ; $broadcast()是向下传播事件

    10、NOSCRIPT标签用来定义在脚本未被执行时的替代内容

    11、

    1 //已定义好一个checkState函数
    2 windows.setTimeout(checkState(), 10000);  //立即被调用
    3 windows.setTimeout(checkState, 10000);  //10s后被调用
    4 windows.setTimeout(“checkState()”, 10000);  //10s后被调用,带引号的

    12、

    1 console.log( 1+ "2" + "2");   //字符串相加等于字符串的合并,结果122
    2 console.log( 1+ + "2" + "2");   //第一个+“2”中的加号是一元加操作符,会自动转成数值2,结果32                   
    3 console.log( "A"- "B" + 2);//"A"- "B"先用Number将函数转换为数值,结果为NaN,在算数运算中有一个为NaN,则结果仍为NaN,结果NaN
    4 console.log( "A"- "B" + "2");    //接上,合并后结果为NaN2

    13、Number()函数会将对象的值转换为数字,null; empty ;0;默认都会转换成0

    14、javaScript是弱类型语言,会根据后面的语言进行转换

    1 var a = “40”, b =72 console.log(a%b);   //5

    15、

    1 var obj = new Boolean('false');  //返回的是对象
    2 var flag = Boolean(0);   //返回布尔值False

    16、

    1 $post(url)是ajax请求;
    2 ajax的事件是:ajaxComplete(callback)  ;
    3                      ajaxError(callback);
    4                      ajaxSend(callback);
    5                      ajaxStart(callback);
    6                      ajaxStop(callback);
    7                      ajaxSuccess(callback)            

     17、

    function argsAsArray(fn, arr) {
        return fn.apply(this,arr);
    }  //通过argsAsArray方法调用自生的fn方法,传入参数是arr

      apply方法:   apply([thisObj[,argArray]])   ---- 应用某一对象的一个方法,用另一个对象替换当前对象。 参数是数组

        说明: 如果argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。 

                   如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。

      

      call方法:    call([thisObj[,arg1[, arg2[,   [,.argN]]]]])   ---- 调用一个对象的一个方法,以另一个对象替换当前对象。 参数是参数列表

             例子:A.call(B[,args1[,args2...]])    用A对象去替换B对象

        说明: call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 
            如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。 

         借鉴他人的博客:http://uule.iteye.com/blog/1158829
        
    18、关于prototype原型  

     1 //使用构造函数法
     2 function createModule(str1, str2) {    
     3     function Obj(){       
     4     this.greeting = str1;       
     5     this.name = str2;        
     6     this.sayIt = function(){   
     7          return this.greeting + ', ' + this.name;  
     8       };  
     9   }   
    10     return new Obj();
    11 }
    12 //构造函数与原型组合
    13 function createModule(str1, str2) {    
    14     function CreateMod(){   
    15         this.greeting = str1; 
    16         this.name = str2;  
    17   }    
    18     CreateMod.prototype.sayIt = function(){      
    19         return this.greeting + ', '  + this.name;   
    20  }   
    21         return new CreateMod();
    22 }            

    19、toString()方法将对象转换成字符串。如果带参数toString(n),即将其转换成n进制表示。

    20、javascript标准事件模型的执行顺序:事件捕获->事件处理->事件冒泡。先事件捕获从windows到document往下级知道特定的事件节点,然后进行事件处理,在事件冒泡,

      从特定节点往上级,完成整个过程。

    21、页面性能指标:白屏时间---用户从打开页面开始到也买你开始有东西呈现为止。

                              首屏时间---用户浏览器首屏内所有内容都呈现出来所花费的时间。

                 用户可操作时间(dom Interactive)---用户进行正常的点击、输入等操作,默认可以统计dom ready时间,因为通常会在这个时候绑定用户操作。

             总下载时间---页面所有资源加载完成并呈现出来所花费的时间,即页面onload时间。

           参照:http://www.cnblogs.com/chuaWeb/p/PerformanceMonitoring.html

    22、javascript中,变量分为基本数据类型和引用数据类型两种,基本数据类型用8字节内存,存储基本数据类型(数值、布尔值、null和未定义)的值,引用类型的变量则只保存对对象、数组和函数等引用类型的值得引用(即内存地址)。javascript内部,所有数字都是以64位浮点数形式存储的。

          基本数据类型:Number、String、Boolean、Undefined、NUll

          复杂数据类型:Object、Array、Function、RegExp、Date、Error

          全局数据类型:Math

      以上,除了NULL,其余的都可以成为JS的内置对象。

    23、angular.js中的服务实质上是单例对象。单例模式有第三个特点:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须向整个系统提供这个实例。

    24、NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用来表示一个本来要返回数值的操作数未返回数值的情况(这样就不会跑出错误了)。

    25、一个promise可能有三种状态:等待(pending)、已完成(fulfiled)、已拒绝(rejected)。一个promise的状态只能从“等待”转向“完成”或者“拒绝”态,不能逆向转化,同时“完成”态和“拒绝”态不能相互转化promise实现then方法。(可以说,then是promise的核心),而且then必须返回一个promise,同一个promise的可以调用多次,而且回调的执行顺序和他们被定义时的顺序一致then方法接受两个参数,第一个参数是成功是的回调,在promise由“等待”状态转换到“完成”态是调用,另一个是失败时的回调,在promise由“等待”状态转到“拒绝”态时调用。

    26、hasOwnProperty:用来判断一个对象是否有你给出的名称的属性或对象。但此方法无法检查该对象原型链中是否具有属性值,该属性必须是对象本身的一个成员。

          isPrototypeOf用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false。

    27、

    1 var f = function g(){
    2          return 23;
    3 };
    4 typeof g();     //结果是ReferenceError,g is not defined
    5 typeof g;      //结果是undefined
    6 typeof f();    //结果是number
    7 typeof f;    //结果是function

           注: typeof  null  的结果是  object

    28、Jquery   siblings()方法返回被选元素的所有同胞元素;

    29、回调时,被回调的函数会放在event loop里,等待线程里的任务执行完后才执行event loop里面的代码。

    30、对元素的margin设置百分数,是相对于父元素width计算的。

    31、Html中的标签分为闭合标签和自闭合标签。自闭和标签有<input/><img/><br/><link/><hr/>等。

    32、<hr/>定义水平线。

    33、Css样式中的权值大小:第一等:内联样式,如:“style= ”,权值为1000

                                        第二等:ID选择器,如:#content,权值为0100

                                        第三等:类,伪类和属性选择器,如:.content,权值为0010

                                        第四等:代表类型选择器和伪元素选择器,如:div  p,权值为0001

                                          通配符、子选择器、相邻选择器等,如:*、>、+,权值为0000 ;  继承的样式没有权值

    34、HTML body部分中的javascript会在页面加载的时候被执行;head部分中的只有在被调用的时候才会被执行。

    35、不换行必须设置word-break:break-all 处理单词的打断 和 word-spacing:no-wrap处理元素内的空白,只在一行内显示。

    36、link是在加载页面前把Css加载完毕;@import url()是在读取文件文件后加载,所以会出现一开始没有css样式,闪烁一下出现样式后的页面(网速慢的情况下)

    37、CSS样式:边距:10px 20px 30px 40px哪一个是底边距?  巧计:顺时针,上右下左。

    38、parseInt方法可以将其它进制转换为十进制。

    39、基本类型和封装类型进行“==”运算符比较时,封装型会自动拆箱为基本型在比较。

          两个Integer类型进行“==”比较,如果其值在-128至127,那么返回true,否则返回false。

      两个封装型进行equals比较,会先比较类型在比较值。

     1 int a=257 2 Integer b=257 3 Integer c=257 4 Integer b2=257 5 Integer c2=257 6 System.ou.println(a==b);
     7 //System.ou.println(a.equals(b)); //编译出错,基本类型不能调用equals
     8 System.ou.println(b.equals(257.0));
     9 System.ou.println(b==c);
    10 System.ou.println(b2==c2);
    11 
    12 //上面的代码结果依次为true,false,false,true

    40、suspend()使得线程进入阻塞状态,并且不会自动回复。

       resume()使进程重新进入可执行状态。(这两个配套使用)

    41、6种基本数据类型:byte,bollean,short,char,int,long,float,double。

    42、自动数据类型转换:按照由低到高的顺序转换。优先关系如下:

           byte,short,char--> int--> long --> float --> double

          其中,最底层的类型不能进行运算,若有运算会自动向上转换int型。

    43、根类Object中的方法:clone();equals();finalize();getClass();notify();notifyAll();hashCode();toString();wait()

    44、

    1 1 var a=22 2 var b=3;
    3 3 if(a=b){...
    4 4 }     //在java中“=”赋值是有返回值的,赋什么值就返回什么值
    5           //C中赋值后会与0进行比较,大于0返回true,否则false

    45、String类是不可改变的类,String str =“123”;str=“1”并不是覆盖而是新建一个内存空间指向它

    46、解决哈希冲突的两种方法:开放地址法、链地址法

    47、常见的浏览器端存储技术: cookie  、 sessionstorage   、localstorage

    48、在HTML body部分中的JavaScripts会在页面加载的时候被执行。 在HTML head部分中的JavaScripts会在被调用的时候才执行

    49、javascript中在进行算术运算时,“+号”,数字隐式转换成字符串。其余的运算符号是字符串隐式转换成数字。

    50、

  • 相关阅读:
    C#中处理鼠标和键盘的事件
    C#中处理鼠标和键盘的事件
    C#中处理鼠标和键盘的事件
    mpich2安装
    算法题推箱子
    LINUX终端下windows盘的位置
    Linux头文件和库文件添加环境变量与GCC编译器添加INCLUDE与LIB环境变量
    第九章顺序容器重学C++之《 C++ PRIMER》
    sed中使用变量
    抛出异常
  • 原文地址:https://www.cnblogs.com/george93/p/6494603.html
Copyright © 2011-2022 走看看