首页 > 代码库 > Ext江湖笔记:JavaScript基本知识点

Ext江湖笔记:JavaScript基本知识点

1.基本对象:Number,String,Date,Array,Error,RegExp,Math,Boolean

ps:本人基本使用java写代码,常常写出Number n = new Number(2)这样的二货代码,时间javascript是弱类型,统一使用var来定义,var n = new Number(2)

2.Number对象,保留指定小数使用toFixed函数,也有相同性质的toPrecision函数,它多了一个指数的功能(详细介绍)

function fixNumber(){    var n = new Number(10/3);    alert(n.toFixed(2));//保留2位小数点}

3.String对象,基本和Java类似,常用方法都有substring,indexof,replace,但是没有trim,在一些新的浏览器上是支持的ExtJS也定义了String对象,这个对象是有的trim所以使用ExtJS时放心使用.ps:Javascript由于编码的问题,对于字符串的长度统一都按照一个字符一个,对于要这些信息要保存到数据库时应该判断字节数,防止字段空间不够,规则就是非中文长度按1算,中文长度按3算

function substr(){    var str = "旧时王谢堂前燕,飞入平常百姓家";    alert(str.substring(0,8) + " length:" + str.substring(0,8).length);}

4.||运算符

代表或运算,这个和java的||有点区别,javascript的||有时不返回boolean类型,运算规则op1||op2,如果op1为true就返回op1,如果op1为false就返回op2,javascript的布尔运算即使非布尔类型都可以运算,所以||就有了新用法,这种用法ExtJS源代码中常常看到,把默认值放到最后保证不会有参数错误

function orDemo(){    var op1 = 0;    var op2 = {x:0};    var op3 = true;    var result = op1||op2.x||op3;//前面op1,op2都为false就返回op3的值    alert(result);}

5.类型转换技巧

字符串优先

function transDemo1(){    var s = "1" + 5;    alert(s);//5会先转换字符串    var a = ["1","2","3"];    alert(a + "");//先调用Array.toString函数再和""连接}

对象的key总是字符串

function objkeyDemo1(){    var obj = {10:"objkeyDemo1"}    alert(obj["10"]);}

6.for...in语句

for...in语法可以将Object的key遍历出来,书上举出的dump函数的例子,讲div元素的所有属性在table元素中列出来,so一起来看看效果,点击test后将div元素变量,输出属性表格页面

2014-10-12_235443      2014-10-12_235632

function dump(obj){    var s = window.open("","dump","");    var result = [];    for(key in obj){        result.push(key);    }    result.sort();    var html = "<table border=1>";    for(var i=0;i<result.length;i++){        html+="<tr>";        html+="<td>" + result[i] + "</td><td>" + obj[result[i]] + "</td>";        html+="</tr>";    }    html += "</table>";    s.document.body.innerHTML = html;}function getObjToDump(){    var div1 = document.getElementById(‘test‘);    dump(div1);}

Ext江湖笔记:JavaScript基本知识点