1、typeof 操作符 用来获取变量或者字面量的类型,也可以typeof(x);但是typeof并非内置函 数,而是一个操作符变量
2、JS 一共6种类型 Undefined/Null/Boolean/Number/String/Object此六种类型
3、用typeof x;获取x变量或者字面量的类型返回的是上面6种类型的所有小写,并且Null类型的 变量返回的也是object

4、Unfined 类型:
 就是在变量声明了但是没有赋初始值的元素var box;alert(typeof box);//unfined
 alert(typeof age);age没有定义,但是同样会返回unfined,但是age逻辑上是不存在的
5、Null 类型:
 Null类型的变量时要显示的赋值为null的(var box = null;)他表示一个空的对象引用,typeof box;返回的是object,可以用次类型来判断一个变量是否已经存在,如果变量被重新赋值则 box!=null 返回的是真;box 是一个空对象;而 var box={};是空的对象;
  Undefined 是派生自 null 的,如果用 == 做相等性检查会返回为真  因为他们检查的其实是 值,但是逻辑上并不想等 用 typeof 来比较或者用恒等符 === 来比较,因为类型不一样
5、Boolean 类型:
 Boolean 类型只有两个值 true 和 false;True 和 False 都不是Boolean类型的值,任 何类型的变量都能够隐试转换为 Boolean类型,
 
6、Number 类型: 包括两种类型数据 整形 和 浮点型
  基本上数值字面量是十进制,也有八进制和十六进制,八进制必须以0开头,后面的数值必 须 是0到7之间的数,否则系统会自动去掉前导数值0,转换为十进制数据;十六进制数据必须 以0x开头,后面是0~9和A~F;
  浮点型数据中数值必须包含一个小数点,并且小数点后面至少要一位数字,而且由于浮点数内存 比整数要大两倍,故系统会自动的将能够转换成整形的浮点数转换成整形(1、小数点后面 没有数值,2、小数点后面全部为0)。
  过大或者过小的数据可以采用科学计数法表示数据1.2e3;1.2e-3分别表示1200和0.0012;
  浮点数最高可以表示17位,但是算术运算中可能不会精确,故做判断的时候一定要考虑此问题,  比如0.1+0.2;返回的是 0.300000000000000004
  可以用 Number.MAX_VALUE 和 Number.MIN_VALUE 获得浮点数表示的最大和最小值
  如果超出了浮点数的范围会返回 Infinity (正无穷)和 -Infinity (负无穷),也可以用 Number.POSITIVE_INFINITY 和 Number.NEGATIVE_INFINITY 来获得正负无穷大 Infinity 和 -Infinity
  要想判断某一个数是否超过了一个数是否超过了最大最小值范围 可以用 isFinite(x)函数
7、NaN : Not a Number是指那些本该返回一个number类型的值但是并不能够返回一个值

8、三种转换函数,可以讲其他类型的数据转换成 Number 类型的数据:  Number(),parseInt(),parseFloat()

Number() 可以将任意类型的数据转换成 Number 数据类型,   boolean中的true转换为1,false 转换为 0;null 对象转换成 0;数值型直接返回  unfined返回的是 NaN

如果是字符串,转换的规则包含以下:

  1)、只是包含数值的字符串,会直接转换成十进制数值如果包含前导 0 即自动去掉

  2)、如果只是包含浮点数的字符串,会直接转换成浮点数,如果包含前导和后导0会自动去掉

  3)、如果是空字符串,直接转换成 0: Number('');//0

  4)、如果不是以上三种类型 那么返回的是 NaN

如果是对象,首先会调用 valueOf()方法,然后确定返回值是否能够转换成数值,如果转换结果 是NaN,则基于这个返回值再调用 toString() 方法,再测试返回值

  1. var box={
  2. toString:function(){
  3. return '123' //可以改为 字符串 'abc' 测试结果
  4. }
  5. };
  6. alert(Number(box));//123

parseInt():  转换的时候先看第一位是否是数值,如果是就一直返回直到连续的数值结束为止。

parseInt('12bca');//12   parseInt('hh23k');//NaN    parseInt('12.45');//12   parseInt('');//NaN

parseInt() 也可以识别八进制和十六进制:

  需要传递第二个参数 8,10,2,16中的一个,第二个参数代表的是前面带转换的数值的以什么进制来读取;

  如果待转换的数据前面包含0x 则可以不传递第二位参数也OK

parseFloat() 用于转换成浮点数,和parseInt()一样从第一位开始解析,但是不认识十六进制同时只是认识一个小数点

8、String 类型:  String类型就是由0到多个由16位Unincode编码组成的类型  即字符串,可以有单双引号成对出现来表示 任何类型的数据都可以转换成String类型,用 x.toString(),但是如果是 null 和 undefined 则需要用 String(x)方法来进行转换。如果待转换的字符串全是由数值组成则 toString() 可以传递一个参数,2,8,16,10 但是转换后的值是带有引号的值,

9、Object 类型: 采用new Object();的方式创建,可以传递参数,并且参数可以参与计算

10、下面这是练习中的源代码(EditPlus 3 编写),代码中注释很详细  运行时可以采用块注释(/* */)方法来慢慢查看效果

  1. //alert("数据类型的练习");
  2. /*------------- 数据类型 -------------*/
  3. var box="abc";
  4. alert(typeof box);// box 类型是 String; 值是 "abc"; 类型的返回值是 string
  5. alert(typeof(box));//typeof 是操作符 不是函数
  6.  
  7. var box=100;
  8. alert(typeof box);//box 类型是Number; 值是 100; 类型的返回值是 number
  9.  
  10. var box=true;
  11. alert(typeof box);//box 类型是Boolean; 值是true; 类型的返回值是 boolean
  12.  
  13. var box;
  14. alert(typeof box);//类型是 Undefined; 值是唯一的 undefined;类型返回值是undefined
  15.  
  16. var age=null;
  17. alert(typeof age);//age 类型是Null,Null类型继承自Object类型,值为null 类型的返回值为object
  18.  
  19. var box={2:3,5:3};
  20. var age=[2,5,7];
  21. alert(typeof box);
  22. alert(typeof age);//类型都是 Object; 返回的类型的值都是 object
  23.  
  24. function Get(){
  25. alert("get函数!");
  26. }
  27. alert(Get); //返回的是函数的实体
  28. alert(typeof Get);//typeof 操作符也可以对函数进行判断 返回为function,表名是一个函数
  29.  
  30. /*------------- Undefined 类型 -------------*/
  31. //Undefined 类型只有一个特殊的值undefined:在用var声明变量的时候没有对其进行初始化
  32. // 声明变量的时候没有必要进行赋值为undefined 因为系统会进行一个隐士的转换
  33.  
  34. //下面两个的类型返回值都是 undefined;但是逻辑上他们的值一个是undefined,一个报错
  35. //古在定义变量的时候尽可能的不要只声明 不赋值
  36. var box;
  37. alert(typeof box);
  38. alert(typeof age);//age is not defined
  39.  
  40. /*------------ Null 类型 ------------*/
  41. //Null 类型是一个只有一个值的数据类型,特殊值null,表示一个空对象引用,typeof 时会返回 object
  42. var box =null;
  43. alert(typeof box);
  44.  
  45. // 如果此处定义一个变量时为了将来保存数据最好定义成 Null 类型的
  46. var box=null;
  47. box="abc";
  48. if(box!=null)
  49. {
  50. alert("对象已经存在");
  51. }
  52.  
  53. // undefined 是派生自 null 的,故想等性检查的时候返回为true
  54. // 但是 并不是恒等(===) 恒等要求类型相等 故下面返回为两个false
  55. // 故未初始化的变量和赋值为null的变量会相等,但是可以采用typeof或者恒等比较出他们呢并不想等
  56. alert(undefined == null);//true
  57. alert(undefined === null);//false
  58. alert(typeof undefined == typeof null);//false
  59. var box;
  60. var age=null;
  61. alert(box==age);//true
  62. alert(typeof box==typeof age);//false
  63. alert(box === age);//false
  64.  
  65. /*-------------- Boolean ------------*/
  66. // Boolean 只有两个值 true,false 由于区分大小写 故True False 都不是Boolean的值
  67. // 任何类型都都有对应的值准换成boolean的值
  68. // 显示转换:
  69. var hello="hello word";
  70. var hello2 = Boolean(hello);
  71. alert(typeof hello);//string
  72. alert(typeof hello2);//boolean
  73. alert(hello2);//true
  74. // 隐式转换:String类型当字符串为空转换为false,
  75. // Number非0数转换成true,包括无穷大,0和NaN转换成false
  76. // Object类型 任何对象转换都为 true,除了 null;
  77. // Undefined 类型只有一种值 转换后始终为 false
  78. var box="strings";
  79. if(box)//box 不为空 隐试转换为true
  80. {
  81. alert('真');
  82. }else{
  83. alert('假');
  84. }
  85. var box2='';
  86. if(box2)//box2 为空 隐试转换为false
  87. {
  88. alert('真');
  89. }else{
  90. alert('假');
  91. }
  92.  
  93. var num=0;
  94. if(num)//num 为0 隐试转换为false
  95. {
  96. alert('真');
  97. }else{
  98. alert('假');
  99. }
  100. var num2=NaN;
  101. if(num2)//num 为N2N 隐试转换为false
  102. {
  103. alert('真');
  104. }else{
  105. alert('假');
  106. }
  107.  
  108. /*----------- 空对象和空的对象 -----------*/
  109.  
  110. //空的对象 表示声明了 但是还未初始化
  111. var box={};//box 的类型是Object;值是 object Object;类型返回值是object
  112. alert(box);//object
  113. alert(typeof box);//object Object
  114. //空对象 表示没有创建 就是一个null值
  115. var age=null;
  116. alert(age);//null
  117. alert(typeof age);//object
  118.  
  119. //这个表示,你还没有创建对象,但先声明了对象引用而必须初始化的结果
  120. //你还没有来得及创建对象,先声明一个对象的变量放在那边,默认初始化为null
  121. var heighe=null;
  122. //在不知道存放什么值的时候 字符串默认声明成空字符串 Number为0,Boolean为false或者true都可
  123. var str='';//表示为空的对象
  124. if(str!=null){
  125. alert('不为空');
  126. }else{
  127. alert('为空');
  128. }

typeof;Undefined; Null;Boolean

  1. /*---------- Number 类型 -------------*/
  2. var box=250; //十进制数据
  3. alert(box);//
  4. //八进制数据必须以0开头 并且后面每一位数不能够比7大,如果大于7会自动去掉前导0,处理为十进制数据
  5. var box=065; //八进制数据
  6. alert(box);//53 //十进制输出
  7. var age=078; //十进制数据
  8. alert(age);//
  9. //十六进制数据必须以 0x 开头 后面包含 0~9,a~f(可以大小写)
  10. var box=0x1f; //十六进制
  11. alert(box);//31 //十进制输出
  12. var box =0x1A;
  13. alert(box);
  14.  
  15. //浮点数 必须包含小数点 并且必须包含以为小数
  16. var box=3.8;
  17. alert(box);
  18. //var age=03.8; //error 浮点数不能够包含前导 0
  19. //alert(age);
  20. var height=.8; //JS支持这中写法 但是最好不要这样写
  21. alert(height);//0.8
  22.  
  23. //由于浮点数保存要比整数占的内存大一倍左右 故ECMAScript会自动将可以转换成整形数据的浮点数转换成整数
  24. var num1=8.;
  25. alert(num1);//8 //小数点后面没有数据 自动转换成8
  26. var num2=12.0;
  27. alert(num2);//12 //小数点后面为 0 自动转换成整形数据
  28. //对于过大或者过小的数据采用科学计数法表示 e后面的数代表的是10的多少次方
  29. var box=12.3e5;
  30. alert(box);//
  31. var age=12.3e-5;
  32. alert(age);//0.000123
  33. //虽然浮点数最大可以保存17位小数,但是算术运算中可能会不精确,
  34. //故在做判断的时候一定要考虑次问题,特别是整形判断
  35. alert(0.3+0.4);//0.7
  36. alert(0.1+0.2);//0.30000000000000004;
  37.  
  38. //浮点数的范围的最大值或者是最小值
  39. alert(Number.MIN_VALUE);//5E-324 //必须将后面的写为大写
  40. alert(Number.MAX_VALUE);
  41. //超过其范围就会显示为 Infinity 和 -Infinity
  42. alert(100e100);//1e102;
  43. alert(100e1000);//Infinity
  44. alert(-100e1000);// -Infinity
  45.  
  46. //通过 Number.POSITIVE_INFINITY 和 Number.NEGATIVE_INFINITY 得到正负无穷大
  47. alert(Number.POSITIVE_INFINITY);//Infinity
  48. alert(Number.NEGATIVE_INFINITY);// -Infinity
  49.  
  50. //通过 函数 isFinite(num) 判断一个数 num 是否是超过了范围 是返回true
  51. alert(isFinite(100e1000));//false
  52. alert(isFinite(100e100));//true
  53.  
  54. // NaN 即非数字(Not a Number),是指本来要返回一个数值的 但是却没有返回一个数值
  55. // 于是就返回一个 NaN,这样就不会报错 在其他高级语言中是会报错的
  56. // 在其他语言中 除数是不能够为 0的,但是ECMAScript中则可以为0 可以看出JS是一种弱语言
  57. alert(5/0);//Infinity;
  58. alert(2/0);//Infinity;
  59. alert(0/0);//NaN
  60. alert(5/0*0);//NaN
  61. //可以通过Number.NaN操作来得到一个 NaN 数字 NaN与任何数据计算都是NaN 并且NaN 不与任何数据相等 包括本身
  62. alert(Number.NaN);//NaN
  63. alert(Number.NaN+4);//NaN
  64. alert(Number.NaN == Number.NaN);//false
  65. alert(0/0+5);//NaN
  66. alert(NaN == NaN);//false
  67. //可以通过函数 isNaN() 函数来判断一个数是否是NaN
  68. alert(isNaN(0/0));//true
  69. alert(isNaN(2/0));//false
  70. alert(isNaN(5/0*0));//true
  71. alert(isNaN("Lee"));//true 全字符的字符串不能够转换成数字
  72. alert(isNaN('25'));//false '25' 先转换成数值 25 故不是NaN
  73. alert(isNaN('25Lee'));//true 含有字符的字符串不能够成功转换成数字
  74. alert(isNaN(true));//false true能够转换成数字1
  75. //isNaN() 函数也适用与对象 在调用isNaN() 函数的过程中会首先调用 valueOf()
  76. //方法,确定返回值能否转换成数值对象 如果不能够就基于这个返回值再调用 toString()方法
  77. var box={};//true
  78. alert(isNaN(box));
  79. var age={
  80. toString:function(){
  81. return '123';
  82. }
  83. }
  84. alert(isNaN(age));//false
  85. alert(age);//
  86.  
  87. /* ---- 三个数值转换函数 Number(),parseInt(),parseFloat(),---- */
  88. //Number()是转型函数可以把任何类型转换成Number类型,但是另外两个只能够转换字符串
  89. alert(Number(true));//
  90. alert(Number(25));//25 数值类型的数据直接返回
  91. alert(Number(null));//
  92. alert(Number(undefined));//NaN undefined类型转换以后返回的是NaN
  93.  
  94. // --------- 如果是只包含字符串则遵循以下规则
  95. //1、如果是数值型的字符串,则会直接转换成十进制数据 同时去掉前导0
  96. alert(Number('0234'));//
  97. //2、只是包含浮点数值的字符串 会自动将字符串转换成浮点数 并且去掉前导和后导0
  98. alert(Number('06.80'));//6.8
  99. alert(Number('005.7800'));//5.78
  100. alert(Number('005.78.700'));//NaN
  101. //3、如果字符串是空字符串 则直接转换成 0
  102. alert(Number(''));//
  103. //4、如果不是上面三种类型的话 则直接返回 NaN
  104. alert(Number('abc123'));//NaN
  105. alert(Number('12abc'));//NaN
  106. alert(Number('12hu45'));//NaN
  107. //5、如果是对象 首先会调用这个方法的 valueOf()方法,然后确定返回值是否能够转换成数值
  108. // 如果转换的结果是NaN 在基于这个返回值再调用 toSring()方法 在测试返回值
  109. var age={
  110. toString:function(){
  111. return '123';
  112. }
  113. }
  114. alert(Number(age));//
  115. var box={
  116. toString:function(){
  117. return 'abc';
  118. }
  119. }
  120. alert(typeof box);//object
  121. alert(Number(box));//NaN
  122.  
  123. //Number()函数在转换字符串的时候比较复杂且不怎么合理 故常用的是parseInt()和parseFloat()
  124.  
  125. alert(parseInt('123'));//
  126. alert(parseInt('123abc'));//123 会返回整数部分
  127. alert(parseInt('abc123'));//NaN 如果第一个字符不是数字就返回为NaN
  128. alert(parseInt('45abc123'));//45 从第一个开始取 到最后一个连续数值结束为止
  129. alert(parseInt('56.12'));//56 小数点不是数值
  130. alert(parseInt('056.12'));//56 自动去掉前导0
  131. alert(parseInt(56.12));//56
  132. alert(parseInt(''));//NaN 空值返回NaN,和全部是字符一个道理
  133. var box={
  134. toString:function(){
  135. return '123';
  136. }
  137. }
  138. alert(parseInt(box));//
  139. //识别八进制和十六进制 添加第二个参数 8,16
  140. //如果为八进制数据是十六进制可以不添加的第二个参数,但是必须带上前导0x
  141. //如果添加了第二个参数为 16 前面的前导0x就可以去掉,
  142. //为了后期维护方便最好添加第二个参数的同时也添加上前导 0x
  143. alert(parseInt('045'));//
  144. alert(parseInt('0x34'));52
  145. alert(parseInt('070'));70
  146. alert(parseInt('0x1fg'));//
  147. alert(parseInt('045',8));//37
  148. alert(parseInt('45',8));//
  149. alert(parseInt('0x1fg',16));//
  150. alert(parseInt('1fg',16));//
  151. alert(parseInt('1e3'));//1 //不认识科学计数法
  152.  
  153. //parseFloat()和parseInt()是一样的 只是不认识八进制和十六进制
  154. //只是认识一个小数点 认识科学计数法
  155. alert(parseFloat('123abc'));//
  156. alert(parseFloat('0xa'));//0 //不认识十六进制
  157. alert(parseFloat('0xa',16));//0 //不认识十六进制
  158. alert(parseFloat('5.8h'));//5.8
  159. alert(parseFloat('12.3.4'));//12.3 //只是认识一个小数点
  160. alert(parseFloat('012.300'));//12.3 //自动去掉前导和后导0
  161. alert(parseFloat('1.2e3'));//1200 //将科学计数法转换成普通的数值
  162. alert(parseFloat('a5.8h'));//NaN

Number

  1. /*---------- String 类型 -------------*/
  2. //String类型用于表示由0个或者多个16为的Unicode字符组成的字符序列,即字符串
  3. //字符串可以用双引号或者单引号表示
  4.  
  5. //单引号和双引号都可以表示中间是一段字符串 但是必须成对使用不能嵌套使用
  6. var box="string";
  7. var age='string';
  8. alert(age+'abcd');
  9. alert(box+"abcd");
  10. alert('abcd'+"abcd");
  11. //alert('abcd"); //error
  12.  
  13. // JS 中同样以反斜杠 \ 代表转义字符
  14. alert("ab\tcd");//制表符
  15. alert("eg\rji");//回车符
  16. alert("ss\nji");//换行符
  17. alert("ac\bcd");//空格符
  18. alert("ab\fcd");//进纸符
  19. alert("ab\\cd");//ab\cd
  20. alert("a\"b\'cd");//a"b'cd
  21. // \xnn 表示以十六进制nn表示的一个字符(由ASCII码计算而得)
  22. alert("\x41");//A
  23. //\unnn 表示以十六进制代码 nnn 表示的一个Unicode字符
  24. alert("\u03a3");//Σ
  25.  
  26. // JS 中的字符串变量的值同样是不可以改变的,若要改变某个变量保存的字符串的值
  27. //首先要销毁原来的字符串,然后再用另外一个包含新的值的字符串变量来填充该变量
  28. var box="abcd";
  29. var age=box+"abcd";
  30. alert(box);//abcd
  31. box=age;
  32. alert(box);//abcdabcd
  33.  
  34. //任何类型的数据都可以转换成字符串类型 x.toString()和 String(x)方法
  35. var box=200;
  36. alert(typeof box);//number
  37. alert(typeof box.toString());//string
  38. alert(typeof box);//number
  39. alert(box.toString());// '200' 输出的内容是在内存中带了单引号的 '200'
  40. box=true;
  41. alert(typeof box);// boolean
  42. alert(box.toString());// 'true' 是带了引号的 'true'
  43.  
  44. //一般进行 toString() 的时候是不需要传递参数的,但是在进行数值转化成字符串的时候,可以进行参数的传递
  45. var box=12;
  46. alert(box.toString()); //'12'
  47. alert(box.toString(2)); //'1100'
  48. alert(box.toString(8)); //'14'
  49. alert(box.toString(16));//'c'
  50. alert(box.toString(10));//'12'
  51.  
  52. // x.toString() 方法是无法将 Undefined 和 Null 类型进行转化的
  53. var box=null;
  54. alert(typeof box);
  55. //alert(box.toString());//error
  56. var age;
  57. //alert(age.toString());//error
  58.  
  59. // 对于 Null 和 Undefined 类型的变量采用 String(x)方法将其进行转换
  60. //String(x) 能够将任何类型的变量x进行转化成字符串类型
  61. var box=null;
  62. alert(String(box));//null
  63. var age;
  64. alert(age);//undefined
  65. //如果值有 toString()方法 则调用该方法并返回相应的结果 如果是null或者undefined则返回null和undefined
  66.  
  67. /* 简单了解 Object 类型 */
  68. //ECMAScript 中的对象其实就是一组数据和功能的集合,对象可以通过new操作符后
  69. //跟上要创建的对象的类型名称类创建
  70. var box=new Object();
  71. alert(typeof box);// object
  72. //Object()是对象构造 如果初始化的时候不需要传递参数 可以不写括号 但是最好不要这样写
  73. var box=new Object;
  74. alert(typeof box);// object
  75.  
  76. //Object()里面可以传递任何的对象,可以传递数值 字符串 布尔值 而且还可以进行计算
  77. var box=new Object(2);
  78. alert(typeof box);//object
  79. var age=box+3;
  80. alert(age);//
  81. alert(typeof age);//number //age的类型还是根据里面的值来定
  82.  
  83. var box=new Object(true);
  84. var age=1;
  85. if(box){ // box 类型是object 里面放的是布尔值 用于计算为 true
  86. age++;
  87. }else{
  88. age--;
  89. }
  90. alert(age);//
  91.  
  92. //同样可以使用这种 new 操作符来创建其他的类型
  93. var box=new Number(5); //或者是new Boolean(),new String()
  94. alert(typeof box);//object
  95. box++;
  96. alert(box);//

String;Object

JS 学习笔记--3--数据类型的更多相关文章

  1. JS 学习笔记--9---变量-作用域-内存相关

    JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...

  2. 2019-4-29 js学习笔记

    js学习笔记一:js数据类型   1:基本数据类型       number类型(整数,小数)      String类型          boolean类型        NaN类型其实是一个nu ...

  3. 基于jquery的插件turn.js学习笔记

    基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  6. WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)

    WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...

  7. WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法

    WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...

  8. WebGL three.js学习笔记 创建three.js代码的基本框架

    WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...

  9. vue.js 学习笔记3——TypeScript

    目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...

  10. 一点感悟:《Node.js学习笔记》star数突破1000+

    写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...

随机推荐

  1. jquery二级目录选中当前页的样式

    <div class="navlist clear"> <span><a href="/M/Page_32.html" title ...

  2. [原]打造Python开发环境之初篇

    古语有云: 工欲善其事,必先利其器 拥有自己的一套得心应手的Python开发环境,开发起来,简直如丝般顺滑.以我工作中使用到的Python开发环境(主要是Web应用),先做个总体介绍 Python环境 ...

  3. 【Servlet】—在servlet中常混的请求路径

    在页面请求,后台获取相关请求路径是,自己长搞混的几个路径,再次做次标记,不要每次使用想不起来是,都去写一个小的demo来测试. request.getContextPath(); request.ge ...

  4. 傅里叶变换 fft_generic halcon

    傅立叶变换(FT, Fourier Transform)的作用是将一个信号由时域变换到频域.其实就是把数据由横坐标时间.纵坐标采样值的波形图格式,转换为横坐标频率.纵坐标振幅(或相位)的频谱格式.变换 ...

  5. DevExpress控件使用经验总结- GridView列表行号显示操作

    DevExpress是一个比较有名的界面控件套件,提供了一系列的界面控件套件的DotNet界面控件.本文主要介绍我在使用DevExpress控件过程中,遇到或者发现的一些问题解决方案,或者也可以所示一 ...

  6. 基于OWIN WebAPI

    http://www.cnblogs.com/Irving/p/4607104.html http://www.cnblogs.com/xishuai/p/aspnet-webapi-owin-oau ...

  7. 比较C++中的4种类型转换方式

    C++的四种cast操作符的区别并非我的原创-------------------------------------------from:http://blog.csdn.net/hrbeuwhw/ ...

  8. 关于iphone消息推送把C#当服务器端来发送

    看了苹果消息推送文档,感觉推送很简单的,但是还是按个人习惯把这些简单知识记录下来,在需要时候再查看一下! 在开发之前,要准备以下的资料 1.证书(包括产生证书和调试证书) 2.证书密码 3.唯一标识( ...

  9. PHPStorm配置支持友好的Laravel代码自动提示

    在项目的composer.json "barryvdh/laravel-ide-helper":"dev-master" 项目config/app.php Ba ...

  10. 测试C#代码执行时间

    这个测试方法不是太精确,不过在同等环境下 可以测试下C#代码逻辑的执行性能吧 网上Copy来的. System.Diagnostics.Stopwatch stopwatch = new System ...