您的位置:首页 > Web前端 > JavaScript

JS基础知识(数据类型)

2013-11-26 14:56 447 查看
1,关于typeof  因为是弱类型语言,而程序代码中又不得不定义出变量的类型所提供出来的方法。  返回的结果如下图:  如下例子:  
var test = "123";
var ob = {
add : function(x,y){return x + y}
}
var fu = function(x,y){return x - y}
var nu = null;
var xyz;
alert(typeof(test));//string
alert(typeof(123));//number
alert(typeof(undefined))//undefined
alert(typeof(fu));//function
alert(typeof(ob));//object
alert(typeof(nu));//object
alert(typeof(xyz));//undefined
    看来上面的例子,可以说通过typeof来判断变量类型不是件很简单的事。  更详细的列表: 摸我  https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof2,undefined    undefined表明变量还未定义。  就像你问javascript,tea是什么,它会回答:没听说过...  就如下:
var tea;
alert(tea);
  也可以这样:
var x = undefined;//默认未赋值的变量为undefined
  判断方式:
if (x === undefined) ...
if (!x) ...
if (typeof x === "undefined") ...
[code]推荐最后者,详细区别参考:继续摸
[/code]
另外,对于第二种判断,大家一定学习过if(x)返回false的值有如下:
false
0
""
NaN
null
undefined

3,null

  null表示一个空对象指针,参照前面typeof的例子,typeof操作会返回"object"。
var car = null;alert(typeof car); //”object”
  就像你问javascript,tea是什么,它会回答:听说过,具体是怎么样的不知道。这就是和undefined的区别吧。
  如果用双等号判断要注意的是:
[/code]
alert(undefined == null)//true
4,Boolean关于
自动转变值到true或false:
var message = “Hello world!”;var messageAsBoolean = Boolean(message);
  在if里的值也是这个道理,如下表转换原则:
5,Number
关于八进制和十六进制
  如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 "x",则解释为十六进制数。
var y=0377; var z=0xFF;
  所以不要在数字前面写0
方法:
[code]toFixed()方法比较常用,比如在页面上计算百分比的时候:
[/code]
var num = new Number(13.37);document.write (num.toFixed(1))
判断是否为数字:
1,使用isNaN(),isNaN是is Not a Number的简写,所以不是number返回true,是number返回false。
2,当然可以使用typeof
转成数字类型:
1,parseFloat(x)
特别注意:parseFloat("40 years") //40
详细:摸摸
2,new Number(x)
3,~~x
4,+x
  等于调用了Number的构造函数
[code]6,Object
[/code]
[code]三种方式创建object(非常清晰):
[/code]
[code]继续摸摸
[/code]
关于三种方法:
类方法对象方法原型方法
例子:
function People(name){this.name=name;//对象方法this.Introduce=function(){alert("My name is "+this.name);}}//类方法People.Run=function(){alert("I can run");}//原型方法People.prototype.IntroduceChinese=function(){alert("我的名字是"+this.name);}var p1=new People("Windking");p1.Introduce();People.Run();p1.IntroduceChinese();
理解:
1,类方法理解成静态方法就可以了。
2,对象方法就是实力方法。
3,用于扩展原对象,new出来的实例可以调用,内部使用的this,是指对象实例
  对象方法在new的时候都会重新创建一遍,而原型方法则不用。----------------------------------------继续前行!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: