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/typeof
 
2,undefined
  
  undefined表明变量还未定义。
 
  就像你问javascript,tea是什么,它会回答:没听说过...
  就如下:
var tea;
alert(tea);
  也可以这样:
var x = undefined;//默认未赋值的变量为undefined
  判断方式:
if (x === undefined) ...
if (!x) ...
if (typeof x === "undefined") ...
推荐最后者,详细区别参考:继续摸
另外,对于第二种判断,大家一定学习过if(x)返回false的值有如下:
false
0
""
NaN
null
undefined

3,null

  null表示一个空对象指针,参照前面typeof的例子,typeof操作会返回"object"。

var car = null;
alert(typeof car); //”object”

  就像你问javascript,tea是什么,它会回答:听说过,具体是怎么样的不知道。这就是和undefined的区别吧。
  如果用双等号判断要注意的是:
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

方法:

toFixed()方法比较常用,比如在页面上计算百分比的时候:
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的构造函数

6,Object
三种方式创建object(非常清晰):
继续摸摸
关于三种方法:
类方法

对象方法

原型方法
例子:
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的时候都会重新创建一遍,而原型方法则不用。

----------------------------------------

继续前行!

JS基础知识(数据类型)的更多相关文章

  1. [JS复习] JS 基础知识

    项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display  :inline or bloc ...

  2. HTML+CSS+JS基础知识

    HTML+CSS+JS基础知识 目录 对HTML+CSS+JS的理解 基础知识 对HTML+CSS+JS的理解 基础知识 插入样式表的三种方式 外部样式表:<link rel="sty ...

  3. Node.js基础知识

    Node.js入门   Node.js     Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设在POSIX环境下运行 ...

  4. 网站开发进阶(十五)JS基础知识充电站

    JS基础知识充电站 1.javascript alert弹出对话框时确定和取消两个按钮返回值? 用的不是alert对话框,是confirm confirm(str); 参数str:你要说的话或问题: ...

  5. js基础--javaScript数据类型你都弄明白了吗?绝对干货

    欢迎访问我的个人博客:http://www.xiaolongwu.cn 数据类型的分类 JavaScript的数据类型分为两大类,基本数据类型和复杂数据类型. 基本数据类型:Null.Undefine ...

  6. NodeJs>------->>第三章:Node.js基础知识

    第三章:Node.js基础知识 一:Node.js中的控制台 1:console.log.console.info  方法 console.log(" node app1.js 1> ...

  7. C语言基础知识-数据类型

    C语言基础知识-数据类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常量与变量 1>.关键字 C的关键字共有32个. >.数据类型关键字(12个) char,s ...

  8. JS基础知识笔记

    2020-04-15 JS基础知识笔记 // new Boolean()传入的值与if判断一样 var test=new Boolean(); console.log(test); // false ...

  9. js基础知识--变量类型和变量计算

    提问: JS中使用typeof能得到的哪些类型 何时使用===何时使用== JS中有哪些内置函数 JS变量按照存储方式区分为哪些类型,并描述其特点 如何理解JSON 涉及知识点:(1)变量类型 值类型 ...

  10. JS基础知识二

    JS控制语句 switch 语句用于基于不同的条件来执行不同的动作 <script> function myFunction(){ var x; var d=new Date().getD ...

随机推荐

  1. php验证用户名是否以字母开头与验证密码

    验证用户名是否以字母开头与验证密码只能为数字和字母的组合代码三款三种常用验证函数 验证邮箱地址格式  验证密码只能为数字和字母的组合 验证用户名是否以字母开头代码哦,这是用户注册时或提交表单时会用的哦 ...

  2. TextBoxButton控件的开发实现

    效果图: 实现代码: public TextBoxButton() { _button = new Button { ForeColor = System.Drawing.SystemColors.G ...

  3. 常州培训 day3 解题报告

    第一题: 给出数轴正半轴上N个点的坐标和其权值,给出初始体力值M,人一开始在位置0,体力值会随着走过路程的增加而增加,走多少个单位的路消耗多少体力值.到每个点可以打掉,消耗的体力值就是其权值.求 最多 ...

  4. ROS服务器与客户端

    我们将创建一个服务器节点add_two_ints_server,它将会收到两个整数,并且返回它们的和.切换目录到之前建立的beginner_tutorials包下: cd ~/catkin_ws/sr ...

  5. HMM TOOL

    HMM隐马尔科夫模型 MATLAB 工具包对各种数据的处理 HMM 工具包下载地址: http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html 工具包使用 ...

  6. 青蛙跳台阶(Fibonacci数列)

    问题 一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级.求该青蛙跳上一个n 级的台阶总共有多少种跳法. 思路 当n=1时,只有一种跳法,及f(1)=1,当n=2时,有两种跳法,及f(2)=2,当n= ...

  7. xlistview的XML(脚)xlistview_footer

    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" ...

  8. 虚拟机centos配置ip

    涉及到三个配置文件,分别是: /etc/sysconfig/network /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/resolv.conf /et ...

  9. 解决使用IIS5.0配置的FTP服务器,客户端浏览器访问时无法获取目录列表的问题。

    我在windows xp sp3下利用iis构架了FTP服务器,允许且只允许匿名用户登陆.但刚开始配置好后,不管是使用命令行模式还是使用浏览器都发现无法访问. 于是怀疑防火墙屏蔽端口所致,果不其然,在 ...

  10. c规范(2)

    一:对齐 1 程序的分界符' {'和' }'应独占一行并且位于同一列,同时与引用它们的语句左对齐. 2  { }之内的代码块在' {'右边数格处左对齐. 二:注释 注释通常用于:( 1)版本.版权声明 ...