String: 空字符串等于Boolean的false;

htmlString: 包括起始tag和结束tag的字符串,代表html代码;

Number:双精度64位,跟string一样属于immutable,基于c语言的运算符都适用于此值;0默认为false,!0为true;

Math函数,parseInt函数(各进制到int的转换);

转换为字符串,""+1+2==“12”,""+(1+3)==“4”......

NaN,非Number的对象会返回NaN,用isNaN函数判断;Number类型;

Infinity,1/0==infinity;Number类型;

                Note:NaN==NaN is false,Infinity==Infinity is true;

                Integer属于Number类型,必须为非浮点数;

Float属于Number类型,为浮点数;

Boolean: true or false;

Object:  var x = {}; {}的类型为object,默认值false;

var y = {name: "Pete",age: 15};

使用dot访问对象的属性:y.name or y.age;

使用array索引访问,y[name],y[age]

迭代for(key in y){ //do sth with key, and access value using y[key]};

Note:使用其他library的时候,可能扩展了Object.prototype,so take care!如:jQuery.each(obj,function(key,value))){}

Note:javascript对象没有继承机制,a workaround是使用prototype满足继承关系:

var Employee = function(name, title) {                                                                      this.name = name;                                                                      this.title = title;                                                                      this.greet = function() {                                                                                         if (this.canTalk) {                                                                                                                        console.log("Hi, I'm "+this.name+", the "+this.title);                                                                                                                   }                                                                                                           }                                                                                           }                         var Customer = function(name) {this.name = name;}                         var Mime = function(name) {this.name = name;this.canTalk = false;}                         var Person = {

canTalk : true,

greet : function() {                                                                                    if (this.canTalk) {console.log("Hi, I'm "+this.name)}

}                                                 }

继承机制为prototype;                        Customer.prototype = Person;                        Employee.prototype = Person;                       Mime.prototype = Person;                       var bob = new Employee('Bob','Builder');              var joe = new Customer('Joe');              var rg = new Employee('Red Green','Handyman');              var mike = new Customer('Mike');              var mime = new Mime('Mime');              bob.greet();              joe.greet();              rg.greet();              mike.greet();              mime.greet(); Array: var x=[]; var y=[1,2,3];数组的类型为object,使用索引读写数组;无论空否,数组默认为true;

数组迭代使用y=a.length作为终止条件,只读一次属性,速度比使用a.length作为终止条件快;

for ( var i = 0, item; item = a[i]; i++ ) {// Do something with item}此时数组不能为空;

var x=[1,2,3]; jQuery.each(x,function(index,value){//do sth with index and value});

var x=[]; x.push(1); x[x.length]=2;  x is [1,2];

support method: reverse, join, shift, etc.

Array<Type>在Jquery中表示方法需要的参数类型是数组,且元素类型是指定值;

PlainObject: jQuery.isPlainObject(object)判断对象是否由{}或new Object(){}创建;

Function:  命名函数和匿名函数;

Arguments

function log( x ) {console.log( typeof x, arguments.length );}                     log(); // "undefined", 0                     log( 1 ); // "number", 1                     log( "1", "2", "3" ); // "string", 3

Note:上面的log函数体中,arguments变量总是有效的,arguments变量有length,callee(调用者)等属性;

                    var awesome = function(){return arguments.callee;}

                    awesome()==awesome   //true;

                  Context,Call,Apply

"this"引用当前context,默认引用window对象,在function中可以改变context;

Function.prototype.call() and Function.prototype.apply(); refer to here and here.

                     NOTE: call和apply的异同:1.无参数时两者无区别;2.函数带参数时候,call(this,argumentsList),而apply (this,argumentArray);

                  Scope: 变量的作用域;

                  Closures:

                        function create() {                                                          var counter = 0;                                                          return {

increment: function() {counter++;},

print:function() {console.log( counter );}

}                                                      }                         var c = create();                         c.increment();                         c.print();                         The pattern allows you to create objects with methods that operate on data that isn't visible to the outside—the very basis of object-oriented programming.

Proxy Pattern

Callback: 

                  Callback is a plain JavaScript function, or sometimes just an event;

                  $( "body" ).click(function( event ) {                            console.log( "clicked: " + event.target );

                                                                      });                   Some callbacks are required to return something, others make that return value optional. To prevent a form submission, a submit event handler can return false:

 
$( "#myform" ).submit(function() { return false; }); selector:
        some plugin will leverage jQuery's selector.

for instance, validation plugin accepts a selector to specify a dependency, whether an input is required or not:

emailrules:{required:"#email:filled"}

Events: blur,focus, load, resize, scroll, unload, beforeunload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress,and keyup.

jQuery: jquery object is a collection of DOM elements, it behaves much like an array but not actually a Javascript Array;

you will use the jQuery() function to create a jQuery object. jQuery() can also be accessed by its familiar single-character alias of $(), unless you have called jQuery.noConflict() to disable this option. Many jQuery methods return the jQuery object itself, so that method calls can be chained:

 
       $( "p" ).css( "color", "red" ).find( ".special" ).css( "color", "green" );     

会对jQuery对象进行筛选,如find(),这些操作会返回一个经过筛选的新的jQuery对象;需要返回前一个jQuery对象则用.end().
      出的jQuery对象为empty,则最后的操作对DOM没有影响。

XMLHttpRequest: 有些AJAX返回XHR object,或者作为参数传递给success/error/complete hanlders,可以在其他操作中使用这个对象。
                   NOTE:Ajax只有在request使用此对象的情况下才返回该对象。

jqXHR: 从jquery1.5开始,$.ajax()返回jqXHR对象,which is a superset of the XMLHTTPRequest object.

Deferred Object(延迟对象): 使用自我管理的callback queues注册多个callback,按需调用。

Promise Object:此对象提供延迟对象的方法子集(then,done,fail,always,pipe,isResolved,isRejected),防止用户更改延迟对象。

Callbacks Object:使用方法$.Callbacks()来create或者返回Callbacks对象,此对象用途广泛,比较强大的功能是用来管理callback lists。

XML Object:一个由浏览器的XML DOM parser创建的文档对象,一般来自一个代表XML的字符串,XML文档与HTML语法不同,但jQuery的大多数遍历或操作都适用于此对象(XML文档)。

仅作个人学习只用,转载注明原文出处,引自:http://api.jquery.com/Types/

Types in Javascript(jQuery)的更多相关文章

  1. insertBefore方法(javascript与jQuery)

    说到insertBefore()方法,其实javascript与jQuery中都有此方法,那么他们用法是否相同呢? 其实,还是有点区别的.反正我是爱搞混淆了,先做个小笔记吧! 1.insertBefo ...

  2. 初探JavaScript(一)——也谈元素节点、属性节点、文本节点

    Javascript大行其道的时候,怎么能少了我来凑凑热闹^_^ 基本上自己对于js的知识储备很少,先前有用过JQuery实现一些简单功能,要论起JS的前世今生,来龙去脉,我就一小白.抱起一本< ...

  3. JavaScript(1)

    JavaScript(1) 第一次见到JavaScript的时候,看到了熟悉的"Java",原来都是骗人的,李鬼不是李逵呀=.= 然而发现这个东西还是特别实用的,和Java比起来它 ...

  4. 前端开发面试题总结之——JAVASCRIPT(一)

    ___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...

  5. 前端开发面试题总结之——JAVASCRIPT(三)

    ___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...

  6. 前端开发面试题总结之——JAVASCRIPT(二)

    ___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...

  7. Sping MVC不使用任何注解处理(jQuery)Ajax请求(基于XML配置)

    1. Spring Spring框架是一个轻量级的解决方案,是一个潜在的一站式商店,用于构建企业就绪的应用程序.Spring框架是一个Java平台,为开发Java应用程序提供全面的基础架构支持.Spr ...

  8. Struts2处理(jQuery)Ajax请求

    1. Ajax     Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)时一种创建交互式网页应用的网页开发技术,它并不是一项新的技术,其产生 ...

  9. Servlet处理(jQuery)Ajax请求

    1. jQuery     jQuery是一个JavaScript函数库,极大的简化了JavaScript编程,很容易学习.jQuery是目前最流行的开源js框架,并且提供了大量的扩展. 2. Aja ...

随机推荐

  1. 用Python获取摄像头并实时控制人脸

    实现流程从摄像头获取视频流,并转换为一帧一帧的图像,然后将图像信息传递给opencv这个工具库处理,返回灰度图像(就像你使用本地静态图片一样) 程序启动后,根据监听器信息,使用一个while循环,不断 ...

  2. Emoji表情处理工具类

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class EmojiToString { /** * 将 ...

  3. [jzoj 5782]【NOIP提高A组模拟2018.8.8】 城市猎人 (并查集按秩合并+复杂度分析)

    传送门 Description 有n个城市,标号为1到n,修建道路花费m天,第i天时,若gcd(a,b)=m-i+1,则标号为a的城市和标号为b的城市会建好一条直接相连的道路,有多次询问,每次询问某两 ...

  4. opencv(一)下载安装

    1.visual studio 工具---Nugget包管理器---管理解决方案的Nugget程序包 搜索opencv,点击安装 下载地址: 1.http://opencv.org/ 2.https: ...

  5. vue cli 平稳升级webapck4

    webpack4 released 已经有一段时间了,插件系统趋于平稳,适逢对webpack3的打包速度很不满意,因此决定将当前在做的项目进行升级,正好也实践一下webpack4. 新特性 0配置 应 ...

  6. JavaSE 学习笔记之Java概述(一)

    一.Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发: JAVASE:Java Platfor ...

  7. junit4单元测试基础

    导入方法看如下截图就明白了:   新建测试用例 右击包名,点击新建,或者新建里的others,选择JUnit test case,如下图所示:   接下来,给测试类起名字和选择要测试的类,如下图所示: ...

  8. 用css3和canvas实现的蜂窝动画效果

    近期工作时研究了一下css3动画和js动画.主要是工作中为了增强页面的趣味性,大家都有意无意的加入了非常多动画效果.当然大部分都是css3动画效果.能够gpu加速,这会降低移动端的性能需求. 今天主要 ...

  9. 跟我学Java多线程——线程池与堵塞队列

    前言 上一篇文章中我们将ThreadPoolExecutor进行了深入的学习和介绍,实际上我们在项目中应用的时候非常少有直接应用ThreadPoolExecutor来创建线程池的.在jdk的api中有 ...

  10. spring学习笔记(22)声明式事务配置,readOnly无效写无异常

    在上一节内容中.我们使用了编程式方法来配置事务,这种优点是我们对每一个方法的控制性非常强.比方我须要用到什么事务,在什么位置假设出现异常须要回滚等.能够进行非常细粒度的配置.但在实际开发中.我们可能并 ...