学习YUI.Ext 第三天


Posted in Javascript onMarch 10, 2007

对于以前很多混淆不清的知识,有必要再梳理一下:就从最基础的变量开始说起。

1.。变量variable

      a.全局变量Global Variable 和 局部变量 Private Variable

     加var和不加var是有区别的 
      --》如果不用关键字var,声明一个变量,那么这个是全局变量,任何子函数都可以访问,就算是跳出花括号的地方,亦可被访问;
      --》如果使用关键字var,则从所在的“花括号{}”起,全体函数都可以访问该变量,如:

function foo(){
  i=8                    //Global Variable
  alert(i)
 }

function foo2(){
  var i=88 //在此花括号下都可访问变量i
  alert(i);
  child()
  function child(){alert(i)}
 } 
foo();foo2()
alert(i) //这里的i还是8

    值得注意是function是编译期的对象,必须执行或实例化才能在内存中分配这一变量。
    全局变量习惯以_开头;p.s全部变量最好慎用,你很知道这个变量在那里何时发生变化!
  -------》参见 js手册:
“尽管并不安全,但声明语句中忽略 var 关键字是合法的 JScript 语法。这时,JScript 解释器给予变量全局范围的可见度。当在过程级中声明一个变量时,它不能用于全局范围;这种情况下,变量声明必须用 var 关键字。”

   b.变量的数据类型 the types of variable

Jscript 有三种主要数据类型、两种复合数据类型和两种特殊数据类型。

主要(基本)数据类型是: 

字符串 
数值 
布尔 
复合(引用)数据类型是: 

对象 
数组 
特殊数据类型是: 

Null 
Undefined 
下面简述一下JavaScript中的各种对象类型:
    Native Object: JavaScript语言提供的不依赖于执行宿主的对象,其中一些是内建对象,如:Global、Math;一些是在脚本运行环境中创建来使用的,如:Array、Boolean、Date、Function、Number、Object、RegExp、Error。
    Build-in Object: JavaScript语言提供的不依赖于执行宿主的内建对象,如:Global、Math;内建对象都是Native Object。
    Host Object:JavaScript语言提供的任何依赖于宿主环境的对象,所有非Native Object的对象都是宿主对象,如:IE中的window,WScript中的wscript实例,任何用户创建的类。

****如何检查对象类型?******
   1.typeof()
      typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能: "number," "string," "boolean," "object," "function," 和 "undefined."

    2.   val instanceof Array
    返回一个 Boolean 值,指出对象是否是特定类的一个实例。 
  例如用到检查 数组或日期类型的时候(事实上,任何类型都允许,见例),必须使用instance of + class name(不用引号),例:

function foo(){}
var f = new foo();
alert(f instanceof foo2) //false

3.constructor 
 constructor 的用法感觉跟instance的用法一样,只不过不返回boolean值

x = new String("Hi");
if (x.constructor == String)
      // 进行处理(条件为真)。

*******var i={}是什么类型?****
答案:object类型 等价于var i = new Object

Object对象是一切对象的载体,有点想父类吧

Object 对象很简单, 
它就只有两个property和两个method 
这两个property是: 
prototype 
constructor 
这两个function是: 
toString() 
valueOf() 

那么var obj = new MyObject()怎么文本化呢?其实也很简单的,obj的文本化定义如下:

 

 var obj = 
     {
         Properties1 : 1, Properties2 : '2', Properties3 : [3],
         Method1 : function(){ return this.Properties1 + this.Properties3[0];},
         Method2 : function(){ return this.Preperties2; }
     };

    类实例文本化定义的语法为,用一对"{}"表示类,也就说"{}"完全等价于"new Object()"。然后"{}"内按"key:value"组织属性和方法,key可以是任意[A-Za-z0-9_]的字符组合,甚至数字开头都是合法的@_@,value是任何的合法的文本化JavaScript数据,最后每个键值对用","来分隔就行了。
通常用于JSON交换数据。

*******undefined 的两种含义*****
1.undefined关键字 2.undefined属性
声明了变量,但没赋过值,是属于第一种的情况;
完全没有声明,就跑出一个变量参与运算,它的数据类型是第二种情况;
两个相同名字却不同含义,建议下一版本改名。

var declared;                         //声明变量。
if (declared == undefined)            //改为uninitialized没初始化 会更准确,js is loose language indeed!
  document.write("declared has not been given a value.");

if (typeOf(notDeclared) == "undefined")
  document.write("notDeclared has not been defined.");

Javascript 相关文章推荐
JQuery UI皮肤定制
Jul 27 Javascript
JS链式调用的实现方法
Mar 07 Javascript
JS下拉框内容左右移动效果的具体实现
Jul 10 Javascript
JavaScript继承学习笔记【新手必看】
May 10 Javascript
一道优雅面试题分析js中fn()和return fn()的区别
Jul 05 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
Feb 17 Javascript
Angular2环境搭建具体操作步骤(推荐)
Aug 04 Javascript
微信小程序中button组件的边框设置的实例详解
Sep 27 Javascript
vue的全局提示框组件实例代码
Feb 26 Javascript
vue.js iview打包上线后字体图标不显示解决办法
Jan 20 Javascript
解决vue prop传值default属性如何使用,为何不生效的问题
Sep 21 Javascript
基于JavaScript实现简单扫雷游戏
Jan 02 Javascript
学习YUI.Ext 第二天
Mar 10 #Javascript
学习YUI.Ext基础第一天
Mar 10 #Javascript
JavaScript触发器详解
Mar 10 #Javascript
又一个图片自动缩小的JS代码
Mar 10 #Javascript
基础的prototype.js常用函数及其用法
Mar 10 #Javascript
优秀js开源框架-jQuery使用手册(1)
Mar 10 #Javascript
用JavaScript实现仿Windows关机效果
Mar 10 #Javascript
You might like
PHP入门速成(2)
2006/10/09 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
2014/03/25 PHP
php实现的Cookies操作类实例
2014/09/24 PHP
thinkphp判断访客为手机端或PC端的方法
2014/11/24 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
2016/03/21 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
javascript 从if else 到 switch case 再到抽象
2010/07/17 Javascript
用JSON做数据传输格式中的一些问题总结
2011/12/21 Javascript
JavaScript实现GriwView单列全选(自写代码)
2013/05/13 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
JavaScript 数组详解
2013/10/10 Javascript
Jquery实现自定义tooltip示例代码
2014/02/12 Javascript
ExtJs纵坐标值重复问题的解决方法
2014/02/27 Javascript
jQuery照片伸缩效果不影响其他元素的布局
2014/05/09 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
js创建对象的区别示例介绍
2014/07/24 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
使用Vue自定义数字键盘组件(体验度极好)
2017/12/19 Javascript
浅谈vuejs实现数据驱动视图原理
2018/02/23 Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
2018/04/17 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
python访问纯真IP数据库的代码
2011/05/19 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
2016/12/10 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
基于python监控程序是否关闭
2020/01/14 Python
浅析python表达式4+0.5值的数据类型
2020/02/26 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
豪华床上用品 :Jennifer Adams
2019/09/15 全球购物
垃圾回收的优点和原理
2014/05/16 面试题
筑梦中国心得体会
2016/01/18 职场文书
创业计划书之孕婴生活馆
2019/11/11 职场文书