js在对象里有java中this关键字字 代表本类,有没有其他关键字代表父级的

随笔 - 22&
&&&&&&&&&&&
this的指向在函数创建的时候是决定不了的,在调用的时候才能决定,谁调用的就指向谁,一定要搞清楚这个。
情况1:如果一个函数中有this,但是它没有被上一级的对象所调用,那么this指向的就是window,
& & & & & & 这里需要说明的是在js的严格版中this指向的不是window,但是我们这里不探讨严格版的问题。
情况2:如果一个函数中有this,这个函数有被上一级的对象所调用,那么this指向的就是上一级的对象。
情况3:如果一个函数中有this,这个函数中包含多个对象,尽管这个函数是被最外层的对象所调用,this指向的也只是它上一级的对象。
例1:针对情况1给出下面的例子
<span style="color: # function a(){
<span style="color: #
var user = "轩悦";
<span style="color: #
console.log(this.user); //undefined
<span style="color: #
console.log(this); //Window
<span style="color: # }
<span style="color: # a();
this最终指向的是调用它的对象,这里的函数a实际是被Window对象所点出来的。
例2:针对情况2给出例子
user:"轩悦",
fn:function(){
console.log(this.user);
这里的this指向的是对象o,因为你调用这个fn是通过o.fn()执行的,那自然指向就是对象o。
例3:针对情况3给出例子
user:"轩悦",
fn:function(){
console.log(this.user); //轩悦
window.o.fn();
例3和例2的代码几乎是一样的,但是这里的this为什么不是指向window,如果按照上面的理论,最终this指向的是调用它的对象。
这里先说个而外话,window是js中的全局对象,我们创建的变量实际上是给window添加属性,所以这里可以用window点o对象。
原因就是情况3------------this只会指向它的上一级对象,不管这个对象中有没有this要的东西。
例4:为了说明上面的问题,我们继续看一下例子
a:<span style="color: #,
a:<span style="color: #,
fn:function(){
console.log(this.a); //<span style="color: #
将对象b中的变量去掉:如下
a:<span style="color: #,
fn:function(){
console.log(this.a); //undefined
可以看到:尽管对象b中没有属性a,这个this指向的也是对象b,因为this只会指向它的上一级对象,不管这个对象中有没有this要的东西。
-------------------------------------------------------------------------------------------分界线-----------------------------------------------------------------------------------------------------------------
下面看一些特殊情况:
例5 : 调用但没有立即执行版this
a:<span style="color: #,
a:<span style="color: #,
fn:function(){
console.log(this.a); //undefined
console.log(this); //window
var j = o.b.
可以看到,上面的this并没有指向上一级对象b。
this永远指向的是最后调用它的对象,也就是看它执行的时候是谁调用的。
在例5代码中,虽然函数fn是被对象b所引用,但是在将fn赋值给变量j的时候并没有执行,所以最终指向的是window。
这和例4是不一样的,例4是直接执行了fn。
例6:构造函数版this
function Fn(){
this.user = "轩悦";
var a = new Fn();
console.log(a.user); //轩悦
这里之所以对象a可以点出函数Fn里面的user是因为new关键字可以改变this的指向,将这个this指向对象a。
为什么我说a是对象,因为用了new关键字就是创建一个对象实例,理解这句话可以想想我们的例子4,
我们这里用变量a创建了一个Fn的实例(相当于复制了一份Fn到对象a里面),此时仅仅只是创建,并没有执行,而调用这个函数Fn的是对象a.
那么this指向的自然是对象a,那么为什么对象a中会有user,因为你已经复制了一份Fn函数到对象a中,用了new关键字就等同于复制了一份。
除了上面的这些以外,我们还可以自行改变this的指向,比如方法可以手动更改this的指向。
例7:return版this
function fn()
this.user = '轩悦';
return {};
var a = new
console.log(a.user); //undefined
function fn()
this.user = '轩悦';
return function(){};
var a = new
console.log(a.user); //undefined
function fn()
this.user = '轩悦';
return <span style="color: #;
var a = new
console.log(a.user); //轩悦
function fn()
this.user = '轩悦';
var a = new
console.log(a.user); //轩悦
 总结:如果返回值是一个对象,那么this指向的就是那个返回的对象,如果返回值不是一个对象那么this还是指向函数的实例。
但是null是一个特例,虽然null也是对象,但是在这里this还是指向那个函数的实例,因为null比较特殊。
function fn()
this.user = '轩悦';
return null;
var a = new
console.log(a.user); //轩悦
阅读(...) 评论()js获取国际区号
js获取国际区号
答案1:JS特效自动判断区号这个实现不了。。。要么判断四个,要么判断三个。答案2:js验证电话号码(包括手机,固定电话,带区号,不带区号))/********************
函数名称:IsTelephone
函数功能:固话,手机号码检查函数,合法返回true,反之,返回false
函数参数:obj,待检查的号码
检查规则:
(1)电话号码由数字、&(&、&)&和&-&构成
(2)电话号码为3到8位
(3)如果电话号码中包含有区号,那么区号为三位或四位
(4)区号用&(&、&)&或&-&和其他部分隔开
(5)移动电话号码为11或12位,如果为12位,那么第一位为0
(6)11位移动电话号码的第一位和第二位为&13&
(7)12位移动电话号码的第二位和第三位为&13&
********************/
function IsTelephone(obj)// 正则判断
var pattern=/(^[0-9]{3,4}\-[0-9]{3,8}&#36;)|(^[0-9]{3,8}&#36;)|(^\([0-9]{3,4}\)[0-9]{3,8}&#36;)|(^0{0,1}13[0-9]{9}&#36;)/;
if(pattern.test(obj))
function isphonenumber(str) 非正则判断
var i,strlengh,
str=CStr(str);
if(str==&&)
strlength=str.
for(i=0;i&i++)
tempchar=str.substring(i,i+1);
if(!(tempchar==0答案3:tempchar==1答案4:tempchar==2答案5:tempchar==3答案6:tempchar==4答案7:tempchar==5答案8:tempchar==6答案9:tempchar==7答案10:tempchar==8答案11:tempchar==9答案12:tempchar==&;-&;))
alert(&电话号码只能输入数字和中划线 &);
return(false);
return(true);
}答案13:国际区号国际来电一般是不能显示的,只有一些奇怪的代码。国与国的代码也不太一样,有可能使美国的,我哥从美国打来就是这个答案14:用JAVASCRIPT获取object对象&a rel=&nofollow& href=&asp& target=&_blank&&asp&/a&面试题Ⅱ日 星期二 00:5161.产生一个int数组,长度为100,&WBR&并向其中随机插入1-100,并且不能重复。
int[] intArr=new int[100];
ArrayList myList=new ArrayList();
Random rnd=new Random();
while(myList.Count&100)
int num=rnd.Next(1,101);
if(!myList.Contains(num))
myList.Add(num);
for(int i=0;i&100;i++)
intArr[i]=(int)myList[i]; &a rel=&nofollow& href=&62.xn--3dsp06aut2ala& target=&_blank&&62.请说明在&/a&中常用的几种页面间传递参数的方法,&WBR&并说出他们的优缺点。
答:session(viewstate) 简单,但易丢失
application 全局
cookie 简单,但可能不支持,可能被伪造
input ttype=&hidden& 简单,可能被伪造
url参数 简单,显示于地址栏,长度有限
数据库 稳定,安全,但性能相对弱 63.请指出GAC的含义?
答:全局程序集缓存。 64.向服务器发送请求有几种方式?
答:get,post。get一般为链接方式,&WBR&post一般为按钮方式。 65.DataReader与Dataset有什么区别?
答:一个是只能向前的只读游标,一个是内存中的表。 66.软件开发过程一般有几个阶段?每个阶段的作用?
答:需求分析,架构设计,代码编写,QA,部署 67.在c#中using和new这两个关键字有什么意义,&WBR&请写出你所知道的意义?using 指令 和语句 new 创建实例 new 隐藏基类中方法。
答:using 引入名称空间或者使用非托管资源
new 新建实例或者隐藏父类方法 68.需要实现对一个字符串的处理,&WBR&首先将该字符串首尾的空格去掉,&WBR&如果字符串中间还有连续空格的话,仅保留一个空格,&WBR&即允许字符串中间有多个空格,但连续的空格数不可超过一个.
答:string inputStr=& xx xx &;
inputStr=Regex.Replace(&WBR&inputStr.Trim(),& *&,&&); 69.下面这段代码输出什么?为什么?
if (Object.ReferenceEquals(i,j))
Console.WriteLine(&Equal&);
Console.WriteLine(&Not Equal&);
答:不相等,因为比较的是对象 70.什么叫做SQL注入,如何防止?请举例说明。
答:利用sql关键字对网站进行攻击。过滤关键字&#39;等 71.什么是反射?
答:动态获取程序集信息 72.用Singleton如何写设计模式
答:static属性里面new ,构造函数private 73.什么是Application Pool?
答:Web应用,类似Thread Pool,提高并发性能。 74.什么是虚函数?什么是抽象函数?
答:虚函数:没有实现的,可由子类继承并重写的函数。抽象函数:&WBR&规定其非虚子类必须实现的函数,必须被重写。 75.什么是XML?
答:XML即可扩展标记语言。eXtensible Markup Language.标记是指计算机所能理解的信息符号,&WBR&通过此种标记,计算机之间可以处理包含各种信息的文章等。&WBR&如何定义这些标记,即可以选择国际通用的标记语言,&WBR&比如HTML,&WBR&也可以使用象XML这样由相关人士自由决定的标记语言,&WBR&这就是语言的可扩展性。XML是从SGML中简化修改出来的。&WBR&它主要用到的有XML、XSL和XPath等。 76.什么是Web Service?UDDI?
答:Web Service便是基于网络的、分布式的模块化组件,&WBR&它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。
UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、&WBR&分布式的、为Web Service提供的、信息注册中心的实现标准规范,&WBR&同时也包含一组使企业能将自身提供的Web Service注册,&WBR&以使别的企业能够发现的访问协议的实现标准。 &a rel=&nofollow& href=&77.xn--asp-x98dlv183i& target=&_blank&&77.什么是ASP&/a&中的用户控件?
答:用户控件一般用在内容多为静态,或者少许会改变的情况下..&WBR&用的比较大..类似ASP中的include..&WBR&但是功能要强大的多。 78.列举一下你所了解的XML技术及其应用
答:xml用于配置,用于保存静态数据类型.&WBR&接触XML最多的是web Services..和config &a rel=&nofollow& href=&79.ADO& target=&_blank&&79.ADO&/a&中常用的对象有哪些?分别描述一下。
答:Connection 数据库连接对象
Command 数据库命令
DataReader 数据读取器
DataSet 数据集 80.什么是code-Behind技术。
答:ASPX,RESX和CS三个后缀的文件,&WBR&这个就是代码分离.实现了HTML代码和服务器代码分离.&WBR&方便代码编写和整理. 81.什么是SOAP,有哪些应用。
答:simple object access protocal,简单对象接受协议.以xml为基本编码结构,&WBR&建立在已有通信协议上(如http,&WBR&不过据说ms在搞最底层的架构在tcp/ip上的soap)&WBR&的一种规范Web Service使用的协议.. 82.C#中 property 与 attribute的区别,他们各有什么用处,&WBR&这种机制的好处在哪里?
答:一个是属性,用于存取类的字段,一个是特性,用来标识类,&WBR&方法等的附加性质 83.XML 与 HTML 的主要区别
答:1. XML是区分大小写字母的,HTML不区分。
2. 在HTML中,&WBR&如果上下文清楚地显示出段落或者列表键在何处结尾,&WBR&那么你可以省略&/p&或者&/li&之类的结束 标记。在XML中,绝对不能省略掉结束标记。
3. 在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个 / 字符作为结尾。这样分析器就知道不用 查找结束标记了。
4. 在XML中,属性值必须分装在引号中。在HTML中,&WBR&引号是可用可不用的。
5. 在HTML中,可以拥有不带值的属性名。在XML中,&WBR&所有的属性都必须带有相应的值。 84.c#中的三元运算符是?
答:?:。 85.当整数a赋值给一个object对象时,整数a将会被?
答:装箱。 86.类成员有_____种可访问形式?
答:this.;new Class().M 87.public static const int A=1;这段代码有错误么?是什么?
答:const不能用static修饰。 88.float f=-123.567F; int i=(int)f;i的值现在是_____?
答:-123。 89.委托声明的关键字是______?
答:delegate. 90.用sealed修饰的类有什么特点?
答:密封,不能继承。 &a rel=&nofollow& href=&91.xn--asp-lp6e& target=&_blank&&91.在Asp&/a&中所有的自定义用户控件都必须继承自__&WBR&______?
答:Control。 &a rel=&nofollow& href=&92.xn--3ds.Net& target=&_blank&&92.在.Net&/a&中所有可序列化的类都被标记为_____?
答:[serializable] &a rel=&nofollow& href=&93.xn--3ds.Net& target=&_blank&&93.在.Net&/a&托管代码中我们不用担心内存漏洞,&WBR&这是因为有了______?
答:GC。 94.下面的代码中有什么错误吗?_______
public virtual void F(){
Console.WriteLine(&A.F&);
abstract class B:A
public abstract override void F(); 答:abstract override 是不可以一起修饰.
} // new public abstract void F(); 95.当类T只声明了私有实例构造函数时,&WBR&则在T的程序文本外部,___可以___(可以 or 不可以)从T派生出新的类,不可以____(可以 or 不可以)直接创建T的任何实例。
答:不可以,不可以。 96.下面这段代码有错误么?
switch (i){
case(): 答://case()条件不能为空
CaseZero();
CaseOne();
答://wrong,格式不正确
CaseTwo();
} &a rel=&nofollow& href=&97.xn--3ds.Net& target=&_blank&&97.在.Net&/a&中,类System.Web.UI.Page 可以被继承么?
答:可以。 98.的错误处理机制是什么?
答:错误处理机制采用try-&catch-&&WBR&finally结构,发生错误时,层层上抛,&WBR&直到找到匹配的Catch为止。 99.利用operator声明且仅声明了==,有什么错误么?
答:要同时修改Equale和GetHash() ? 重载了&==& 就必须重载 &!=&&a rel=&nofollow& href=&100.xn--3ds& target=&_blank&&100.在&/a&(C# or &a rel=&nofollow& href=&vb& target=&_blank&&vb&/a&)中如何用户自定义消息,并在窗体中处理这些消息。
答:在form中重载DefWndProc函数来处理消息:
protected override void DefWndProc ( ref System.WinForms.Message m )
switch(m.msg)
case WM_Lbutton :
///&WBR&string与MFC中的CString的Format函数的使&WBR&用方法有所不同
string message = string.Format(&收到消息!参数为:{0},{&WBR&1}&,m.wParam,m.lParam);
MessageBox.Show(message);///&WBR&显示一个消息框
case USER:
处理的代码
base.DefWndProc(ref m);///调用基类函数处理非自定义消息。
} &a rel=&nofollow& href=&101.xn--3ds& target=&_blank&&101.在&/a&(C# or &a rel=&nofollow& href=&vb& target=&_blank&&vb&/a&)中如何取消一个窗体的关闭。
答:private void Form1_Closing(object sender, System.ComponentModel.&WBR&CancelEventArgs e)
} &a rel=&nofollow& href=&102.xn--3ds& target=&_blank&&102.在&/a&(C# or &a rel=&nofollow& href=&vb& target=&_blank&&vb&/a&)中,Appplication.Exit 还是 Form.Close有什么不同?
答:一个是退出整个应用程序,一个是关闭其中一个form。 103.在C#中有一个double型的变量,比如10321.&WBR&5,比如644,&WBR&作为货币的值如何按各个不同国家的习惯来输出。比如美国用&#36;&WBR&10,321.50和&#36;122,235,401.&WBR&22而在英国则为£10 321.50和£122 235 401.22
答:System.Globalization.&WBR&CultureInfo MyCulture = new System.Globalization.&WBR&CultureInfo(&en-US&);
//System.Globalization.&WBR&CultureInfo MyCulture = new System.Globalization.&WBR&CultureInfo(&en-GB&);为英 国 货币类型
decimal y = 9999m;
string str = String.Format(MyCulture,&My amount = {0:c}&,y); 104.某一密码仅使用K、L、M、N、O共5个字母,&WBR&密码中的单词从左向右排列,密码单词必须遵循如下规则:
(1) 密码单词的最小长度是两个字母,可以相同,也可以不同
(2) K不可能是单词的第一个字母
(3) 如果L出现,则出现次数不止一次
(4) M不能使最后一个也不能是倒数第二个字母
(5) K出现,则N就一定出现
(6) O如果是最后一个字母,则L一定出现
问题一:下列哪一个字母可以放在LO中的O后面,&WBR&形成一个3个字母的密码单词?
A) K B)L C) M D) N
答案:B 问题二:如果能得到的字母是K、L、M,&WBR&那么能够形成的两个字母长的密码单词的总数是多少?
A)1个 B)3个 C)6个 D)9个
答案:A 问题三:下列哪一个是单词密码?
A) KLLN B) LOML C) MLLO D)NMKO
答案:C 8. 62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),&WBR&使得等式成立,如何移动?
答案:62移动成2的6次方 105.对于这样的一个枚举类型:
enum Color:byte
答:string[] ss=Enum.GetNames(typeof(Color)&WBR&);
byte[] bb=Enum.GetValues(typeof(&WBR&Color)); 106. C#中 property 与 attribute的区别,他们各有什么用处,&WBR&这种机制的好处在哪里?
答:attribute:自定义属性的基类;property :类中的属性 107.C#可否对内存进行直接的操作?
答:&a rel=&nofollow& href=&xn--3ds& target=&_blank&&在&/a&下,引用了垃圾回收(GC)功能,&WBR&它替代了程序员 不过在C#中,不能直接实现Finalize方法,&WBR&而是在析构函数中调用基类的Finalize()方法 108.ADO。NET相对于ADO等主要有什么改进?
答:1:&a rel=&nofollow& href=&ado& target=&_blank&&ado&/a&不依赖于ole db提供程序,&a rel=&nofollow& href=&xn--2rqx66cusktsk& target=&_blank&&而是使用&/a&托管提供的程序,2:&WBR&不使用com3:不在支持动态游标和服务器端游 4:,可以断开connection而保留当前数据集可用 5:强类型转换 6:xml支持 109.写一个HTML页面,实现以下功能,&WBR&左键点击页面时显示“您好”,右键点击时显示“禁止右键”。&WBR&并在2分钟后自动关闭页面。
答:&script language=javascript&
setTimeout(&#39;window.close();&#39;,&WBR&3000);
function show()
if (window.event.button == 1)
alert(&左&);
else if (window.event.button == 2)
alert(&右&);
&/script& 110.大概描述一下ASP。NET服务器控件的生命周期
答:初始化 加载视图状态 处理回发数据 加载 发送回发更改通知 处理回发事件 预呈现 保存状态 呈现 处置 卸载 111.Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,&WBR&是否可以implements(实现)interface(&WBR&接口)?
答:不能,可以实现接口 112.Static Nested Class 和 Inner Class的不同,说得越多越好
答:Static Nested Class是被声明为静态(static)的内部类,&WBR&它可以不依赖于外部类实例被实例化。&WBR&而通常的内部类需要在外部类实例化后才能实例化。 113.,&和&&的区别。
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(&WBR&and). 114.HashMap和Hashtable的区别。
答:HashMap是Hashtable的轻量级实现(&WBR&非线程安全的实现),他们都完成了Map接口,&WBR&主要区别在于HashMap允许空(null)键值(key),&WBR&由于非线程安全,效率上可能高于Hashtable. 115.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)
short s1 = 1; s1 += 1;(可以正确编译) 116.Overloaded的方法是否可以改变返回值的类型?
答:Overloaded的方法是可以改变返回值的类型。 117.error和exception有什么区别?
答:error 表示恢复不是不可能但很困难的情况下的一种严重问题。&WBR&比如说内存溢出。不可能指望程序能处理这样的情况。
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,&WBR&从不会发生的情况。 118.&%# %& 和 &% %& 有什么区别?
答:&%# %&表示绑定的数据源
&% %&是服务器端代码块 &a rel=&nofollow& href=&119.xn--asp-x69d945e011d.NET& target=&_blank&&119.你觉得ASP.NET&/a& 2.0(VS2005)和你以前使用的开发工具(.Net 1.0或其他)有什么最大的区别?&WBR&你在以前的平台上使用的哪些开发思想(pattern / architecture)可以移植到&a rel=&nofollow& href=&ASP.NET& target=&_blank&&ASP.NET&/a& 2.0上 (或者已经内嵌在&a rel=&nofollow& href=&ASP.NET& target=&_blank&&ASP.NET&/a& 2.0中)
答:1 &a rel=&nofollow& href=&ASP.NET& target=&_blank&&ASP.NET&/a& 2.0 把一些代码进行了封装打包,所以相比1.&WBR&0相同功能减少了很多代码.
2 同时支持代码分离和页面嵌入服务器端代码两种模式,以前1.&WBR&0版本,.NET提示帮助只有在分离的代码文件,无 法 在页面嵌入服务器端代码获得帮助提示,
3 代码和设计界面切换的时候,2.0支持光标定位.这个我比较喜欢
4 在绑定数据,做表的分页.UPDATE,DELETE,&WBR&等操作都可以可视化操作,方便了初学者
5 在&a rel=&nofollow& href=&ASP.NET& target=&_blank&&ASP.NET&/a&中增加了40多个新的控件,减少了工作量 120.重载与覆盖的区别?
答:1、方法的覆盖是子类和父类之间的关系,是垂直关系;&WBR&方法的重载是同一个类中方法之间的关系,是水平关系
2、覆盖只能由一个方法,或只能由一对方法产生关系;&WBR&方法的重载是多个方法之间的关系。
3、覆盖要求参数列表相同;重载要求参数列表不同。
4、覆盖关系中,调用那个方法体,是根据对象的类型(&WBR&对象对应存储空间类型)来决定;重载关系,是根据调 用时的实参表与形参表来选择方法体的。//获取object对象var obj = document.getElementById(对象ID);//获取obj的属性var pVal = obj.var pHtml = obj.innerHTML;......答案15:归属地查询,卡种jsgmcc是什么意思来电通  功能:  1. 查询来电或去电的号码归属地,手机卡类型;  2. 查询通讯记录号码归属地;  3. 查询短信息号码归属地;  4. 可以设置提示框的显示风格、字体、边距、颜色、位置、背景图片、透明等;  5. 对未接来电和未读短信进行提醒;  6. 通话时间提醒;  7. 查询国际区号;  8. 查询常用热线电话;  9. 来电/去电大头贴;  10. IP电话拨号;  说明:  1. 暂时无法随机器启动,因为第三版的随机启动程序要经过Symbian认证才行。所以重新开机以后请到功能表里用&来电通&启动来电/去电查询功能;或者参考有关文章使用开发证书解决。  2. 在设置提示框的显示宽度中,-1为屏幕宽度,0为根据文字自动调整宽度;  3. 在设置提示框的显示高度中,0为根据文字自动调整高度;  4. 预览时按右软键结束预览状态;  5. 未接来电和未读短信的提醒中,震动功能必须在当前情景模式中打开了震动时才有效;  6. 使用了透明背景或背景图片后,提示框会延迟一会儿才显示;  7. 背景图片要放在c:\images或e:\images目录中;  8. 提醒设置里,提醒次数0为无限次;  已知问题:  1. 经测试,通话提醒功能在N73上无效;  2. 通话提醒时,对方也会听到提醒声音;  3. 进程无故出错失效的原因可能是跟其他同类软件发生冲突,例如来电防火墙之类的;  4. 由于图片缩放处理消耗的时间较长,大头贴最好不要使用太大的图片,最好自行裁剪至所需的大小,以省去缩放的开销;  5. 大头贴为全屏,不能按右软键隐藏;  注: 适用机型:NOKIA 90/E50/E60/E61/E62/E70/N71/N73/N75/N76/N80/N91/N92/N93/N93i/N95  仅支持S60 第三版 (S60V3)  更正:软件里边没有启动和关闭的选项,故不存在开机启动之类的东西,应该是随系统一起启动的.也不能关掉的,.安装了即使开启了(2.43版本)答案16:javascript中有一个语句得到今天的日期,还有时间年份,但在后面会出现GMT是什么意思呀1有哪位高手告诉我/通过协议选出伦敦的格林威治,由于从19世纪开始,各国的代表就在1884 年在美国华盛顿召开了国际大会,因为世界各国来往频繁。
北京时间 是 GMT+8,而欧洲大陆,作为全球时间的中心点、美洲大陆和亚洲大陆都有各自的时区,所以为免混乱,格林威治标准时间因而诞生。所以有GMT功能的腕表就是说腕表拥有其中的小时表盘可以显示GMT时间GMT是格林威治时间
GMT 就是格林威治标准时间的英文缩写(Greenwich Mean Time 格林尼治标准时间).
格林威治是伦敦泰晤士河南岸的一个地方答案17:js代码不支持utf8编码如何解决你文件本身的编码和你设定的html输出编码要一致html中如果是&meta http-equiv=&Content-Type& content=&text/ charset=gb2312&&那么保存文件的时候可以存为ANSI拿百度为例,如果你在浏览的时候选择utf-8编码,那么显示出来的都是乱码html中如果是&meta http-equiv=&Content-Type& content=&text/ charset=utf-8&&那么保存文件的时候要存为utf-8GB2312 字符集 GB2312又称为GB2312-80字符集,全称为《信息交换用汉字编码字符集·基本集》,由原中国国家标准总局发布,日实施,是中国国家标准的简体中文字符集。它所收录的汉字已经覆盖99.75%的使用频率,基本满足了汉字的计算机处理需要。在中国大陆和新加坡获广泛使用。 GB2312收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。其中包括6763个汉字,其中一级汉字3755个,二级汉字3008个;包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。 GB2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。 它是用双字节表示的,两个字节中前面的字节为第一字节,后面的字节为第二字节。习惯上称第一字节为“高字节” ,而称第二字节为“低字节”。“高位字节”使用了0xA1-0xF7(把01-87区的区号加上0xA0),“低位字节”使用了0xA1-0xFE(把01-94加上0xA0)。 以GB2312字符集的第一个汉字“啊”字为例,它的区号16,位号01,则区位码是1601,在大多数计算机程序中,高字节和低字节分别加0xA0得到程序的汉字处理编码0xB0A1。计算公式是:0xB0=0xA0+16, 0xA1=0xA0+1。 GBK字符集 GBK字符集是GB2312的扩展(K),GBK1.0收录了21886个符号,它分为汉字区和图形符号区,汉字区包括21003个字符。GBK字符集主要扩展了繁体中文字的支持。 BIG5 字符集 BIG5又称大五码或五大码,1984年由台湾财团法人信息工业策进会和五间软件公司宏碁 (Acer)、神通 (MiTAC)、佳佳、零壹 (Zero One)、大众 (FIC)创立,故称大五码。Big5码的产生,是因为当时台湾不同厂商各自推出不同的编码,如倚天码、IBM PS55、王安码等,彼此不能兼容;另一方面,台湾政府当时尚未推出官方的汉字编码,而中国大陆的GB2312编码亦未有收录繁体中文字。 Big5字符集共收录13,053个中文字,该字符集在中国台湾使用。耐人寻味的是该字符集重复地收录了两个相同的字:“兀”(0xA461及0xC94A)、“嗀”(0xDCD1及0xDDFC)。 Big5码使用了双字节储存方法,以两个字节来编码一个字。第一个字节称为“高位字节”,第二个字节称为“低位字节”。高位字节的编码范围0xA1-0xF9,低位字节的编码范围0x40-0x7E及0xA1-0xFE。 尽管Big5码内包含一万多个字符,但是没有考虑社会上流通的人名、地名用字、方言用字、化学及生物科等用字,没有包含日文平假名及片假字母。 例如台湾视“着”为“著”的异体字,故没有收录“着”字。康熙字典中的一些部首用字(如“亠”、“疒”、“辵”、“癶”等)、常见的人名用字(如“堃”、“煊”、“栢”、“喆”等) 也没有收录到Big5之中。 GB18030 字符集 GB18030的全称是GB《信息交换用汉字编码字符集基本集的扩充》,是我国政府于日发布的新的汉字编码国家标准,日后在中国市场上发布的软件必须符合本标准。GB 18030字符集标准的出台经过广泛参与和论证,来自国内外知名信息技术行业的公司,信息产业部和原国家质量技术监督局联合实施。 GB 18030字符集标准解决汉字、日文假名、朝鲜语和中国少数民族文字组成的大字符集计算机编码问题。该标准的字符总编码空间超过150万个编码位,收录了27484个汉字,覆盖中文、日文、朝鲜语和中国少数民族文字。满足中国大陆、香港、台湾、日本和韩国等东亚地区信息交换多文种、大字量、多用途、统一编码格式的要求。并且与Unicode 3.0版本兼容,填补Unicode扩展字符字汇“统一汉字扩展A”的内容。并且与以前的国家字符编码标准(GB2312,GB13000.1)兼容。 编码方法: GB 18030标准采用单字节、双字节和四字节三种方式对字符编码。单字节部分使用0×00至0×7F码(对应于ASCII码的相应码)。双字节部分,首字节码从0×81至0×FE,尾字节码位分别是0×40至0×7E和0×80至0×FE。四字节部分采用GB/T 11383未采用的0×30到0×39作为对双字节编码扩充的后缀,这样扩充的四字节编码,其范围为0××FE39FE39。其中第一、三个字节编码码位均为0×81至0×FE,第二、四个字节编码码位均为0×30至0×39。 按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。 接着是国际通用的unicode字符集 Unicode字符集(简称为UCS) 1.名称的由来 Unicode字符集编码是(Universal Multiple-Octet Coded Character Set) 通用多八位编码字符集的简称,支持世界上超过650种语言的国际字符集。Unicode允许在同一服务器上混合使用不同语言组的不同语言。它是由一个名为 Unicode 学术学会(Unicode Consortium)的机构制订的字符编码系统,支持现今世界各种不同语言的书面文本的交换、处理及显示。该编码于1990年开始研发,1994年正式公布,最新版本是日的Unicode 4.1.0。Unicode是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。 2.编码方法 Unicode 标准始终使用十六进制数字,而且在书写时在前面加上前缀“U+”,例如字母“A”的编码为 004116 。所以“A”的编码书写为“U+0041”。 3.UTF-8 编码 UTF-8是Unicode的其中一个使用方式。 UTF是 Unicode Translation Format,即把Unicode转做某种格式的意思。 UTF-8便于不同的计算机之间使用网络传输不同语言和编码的文字,使得双字节的Unicode能够在现存的处理单字节的系统上正确传输。 UTF-8使用可变长度字节来储存 Unicode字符,例如ASCII字母继续使用1字节储存,重音文字、希腊字母或西里尔字母等使用2字节来储存,而常用的汉字就要使用3字节。辅助平面字符则使用4字节。 4.UTF-16 和 UTF-32 编码 UTF-32、UTF-16 和 UTF-8 是 Unicode 标准的编码字符集的字符编码方案,UTF-16 使用一个或两个未分配的 16 位代码单元的序列对 Unicode 代码点进行编码;UTF-32 即将每一个 Unicode 代码点表示为相同值的 32 位整数 通过一个问题了解unicode编码 问题:使用Windows记事本的“另存为”,可以在ANSI、GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows怎样识别编码方式的呢? 我很早前就发现Unicode、Unicode big endian和UTF-8编码的txt文件的开头会多出几个字节,分别是FF、FE(Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)。但这些标记是基于什么标准呢? 答案: ANSI字符集定义:ASCII字符集,以及由此派生并兼容的字符集,如:GB2312,正式的名称为MBCS(Multi-Byte Chactacter System,多字节字符系统),通常也称为ANSI字符集。 UNICODE 与 UTF8、UTF16 由于每种语言都制定了自己的字符集,导致最后存在的各种字符集实在太多,在国际交流中要经常转换字符集非常不便。因此,产生了Unicode字符集,它固定使用16 bits(两个字节)来表示一个字符,共可以表示65536个字符 标准的 Unicode 称为UTF-16(UTF:UCS Transformation Format )。后来为了双字节的Unicode能够在现存的处理单字节的系统上正确传输,出现了UTF-8,使用类似MBCS的方式对Unicode进行编码。(Unicode字符集有多种编码形式) 例如&连通&两个字的Unicode标准编码UTF-16 (big endian)为:DE 8F 1A 90 而其UTF-8编码为:E8 BF 9E E9 80 9A 当一个软件打开一个文本时,它要做的第一件事是决定这个文本究竟是使用哪种字符集的哪种编码保存的。软件一般采用三种方式来决定文本的字符集和编码: 检测文件头标识,提示用户选择,根据一定的规则猜测 最标准的途径是检测文本最开头的几个字节,开头字节 Charset/encoding,如下表: EF BB BF UTF-8 FE FF UTF-16/UCS-2, little endian FF FE UTF-16/UCS-2, big endian FF FE 00 00 UTF-32/UCS-4, little endian. 00 00 FE FF UTF-32/UCS-4, big-endian. 1、big endian和little endian big endian和little endian是CPU处理多字节数的不同方式。例如“汉”字的Unicode编码是6C49。那么写到文件里时,究竟是将6C写在前面,还是将49写在前面?如果将6C写在前面,就是big endian。还是将49写在前面,就是little endian。 “endian”这个词出自《格列佛游记》。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开,由此曾发生过六次叛乱,其中一个皇帝送了命,另一个丢了王位。 我们一般将endian翻译成“字节序”,将big endian和little endian称作“大尾”和“小尾”。 2、字符编码、内码,顺带介绍汉字编码 字符必须编码后才能被计算机处理。计算机使用的缺省编码方式就是计算机的内码。早期的计算机使用7位的ASCII编码,为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。 GB年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。 GB2312支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。 从ASCII、GB2312、GBK到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。 有的中文Windows的缺省内码还是GBK,可以通过GB18030升级包升级到GB18030。不过GB18030相对GBK增加的字符,普通人是很难用到的,通常我们还是用GBK指代中文Windows内码。 这里还有一些细节: GB2312的原文还是区位码,从区位码到内码,需要在高字节和低字节上分别加上A0。 在DBCS中,GB内码的存储格式始终是big endian,即高位在前。 GB2312的两个字节的最高位都是1。但符合这个条件的码位只有128*128=16384个。所以GBK和GB18030的低字节最高位都可能不是1。不过这不影响DBCS字符流的解析:在读取DBCS字符流时,只要遇到高位为1的字节,就可以将下两个字节作为一个双字节编码,而不用管低字节的高位是什么。 3、Unicode、UCS和UTF(UCS Transformation Format) 前面提到从ASCII、GB2312、GBK到GB18030的编码方法是向下兼容的。而Unicode只与ASCII兼容(更准确地说,是与ISO-8859-1兼容),与GB码不兼容。例如“汉”字的Unicode编码是6C49,而GB码是BABA。 UCS规定了怎么用多个字节表示各种文字。而怎样传输这些编码,是由UTF(UCS Transformation Format)规范规定的!常见的UTF规范包括UTF-8、UTF-7、UTF-16。 4、UTF的字节序和BOM UTF-8以字节为编码单元,没有字节序的问题。UTF-16以两个字节为编码单元,在解释一个UTF-16文本前,首先要弄清楚每个编码单元的字节序。例如收到一个“奎”的Unicode编码是594E,“乙”的Unicode编码是4E59。如果我们收到UTF-16字节流“594E”,那么这是“奎”还是“乙”? Unicode规范中推荐的标记字节顺序的方法是BOM。BOM不是“Bill Of Material”的BOM表,而是Byte Order Mark。BOM是一个有点小聪明的想法: 在UCS编码中有一个叫做&ZERO WIDTH NO-BREAK SPACE&的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符&ZERO WIDTH NO-BREAK SPACE&。 这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。因此字符&ZERO WIDTH NO-BREAK SPACE&又被称作BOM。 UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符&ZERO WIDTH NO-BREAK SPACE&的UTF-8编码是EF BB BF(读者可以用我们前面介绍的编码方法验证一下)。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。 Windows就是使用BOM来标记文本文件的编码方式的。 写到这里对编码有了大致的了解了,就可以理解网上一些文章的话了,比如有一篇很流行的文章《URL编码与SQL注射》里面有一段是这么说的: 其实url编码就是一个字符ascii码的十六进制。不过稍微有些变动,需要在前面加上“%”。比如“\”,它的ascii码是92,92的十六进制是5c,所以“\”的url编码就是%5c。那么汉字的url编码呢?很简单,看例子:“胡”的ascii码是-17670,十六进制是BAFA,url编码是“%BA%FA”。呵呵,知道怎么转换的了吧。 这得从ASCII说起,扩展的ASCII字符集采用8bit255个字符显然不够用,于是各个国家纷纷制定了自己的文字编码规范,其中中文的文字编码规范叫做“GB2312-80”(就是GB2312),它是和ASCII兼容的一种编码规范,其实就是用扩展ASCII没有真正标准化这一点,把一个中文字符用两个扩展ASCII字符来表示。文中说的的中文ASCII码实际上就是简体中文的编码2312GB!它把ASCII又扩充了一个字节,由于高位的第一位是0,所以会出现负数的形式,url编码就是将汉字的这个GB2312编码转化成UTF-8的编码并且每8位即一个字节前面加上%符号表示。 那为何UTF-8是进行网络的规范传输编码呢? 在Unicode里,所有的字符被一视同仁。汉字不再使用“两个扩展ASCII”,而是使用“1个Unicode”,注意,现在的汉字是“一个字符”了,于是,拆字、统计字数这些问题也就自然而然的解决了。但是,这个世界不是理想的,不可能在一夜之间所有的系统都使用Unicode来处理字符,所以Unicode在诞生之日,就必须考虑一个严峻的问题:和ASCII字符集之间的不兼容问题。 我们知道,ASCII字符是单个字节的,比如“A”的ASCII是65。而Unicode是双字节的,比如“A”的Unicode是0065,这就造成了一个非常大的问题:以前处理ASCII的那套机制不能被用来处理Unicode了 另一个更加严重的问题是,C语言使用&\0&作为字符串结尾,而Unicode里恰恰有很多字符都有一个字节为0,这样一来,C语言的字符串函数将无法正常处理Unicode,除非把世界上所有用C写的程序以及他们所用的函数库全部换掉 于是,比Unicode更伟大的东东诞生了,之所以说它更伟大是因为它让Unicode不再存在于纸上,而是真实的存在于我们大家的电脑中。那就是:UTF UTF= UCS Transformation Format UCS转换格式,它是将Unicode编码规则和计算机的实际编码对应起来的一个规则。现在流行的UTF有2种:UTF-8和UTF-16 其中UTF-16和上面提到的Unicode本身的编码规范是一致的,这里不多说了。而UTF-8不同,它定义了一种“区间规则”,这种规则可以和ASCII编码保持最大程度的兼容,这样做的好处是压缩了字符在西欧一些国家的内存消耗,减少了不必要的资源浪费,这在实际应用中是非常有必要的。 UTF-8有点类似于Haffman编码,它将Unicode编码为: 0007F的字符,用单个字节来表示; 007FF的字符用两个字节表示 (中文的编码范围) 0FFFF的字符用3字节表示 因为目前为止Unicode-16规范没有指定FFFF以上的字符,所以UTF-8最多是使用3个字节来表示一个字符。但理论上来说,UTF-8最多需要用6字节表示一个字符。 在UTF-8里,英文字符仍然跟ASCII编码一样,因此原先的函数库可以继续使用。而中文的编码范围是在0080-07FF之间,因此是2个字节表示(但这两个字节和GB编码的两个字节是不同的)。 看看编码之多:ANSI,AscII,GB2312,GBK,BIG5,GB18030,Unicode,UCS(就是unicode)Utf-8,utf-16,utf-32 整整10种编码~,算是够复杂了 可是这还仅仅是个开始,应用方面变化无穷,不过现在看到这些东西起码再不会头大了!呼呼~ 哦,漏了一个加密的base64编码。 什么是Base64? 按照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.) 为什么要使用Base64? 在设计这个编码的时候,我想设计人员最主要考虑了3个问题: 1.是否加密? 2.加密算法复杂程度和效率 3.如何处理传输? 加密是肯定的,但是加密的目的不是让用户发送非常安全的Email。这种加密方式主要就是“防君子不防小人”。即达到一眼望去完全看不出内容即可。 基于这个目的加密算法的复杂程度和效率也就不能太大和太低。和上一个理由类似,MIME协议等用于发送Email的协议解决的是如何收发Email,而并不是如何安全的收发Email。因此算法的复杂程度要小,效率要高,否则因为发送Email而大量占用资源,路就有点走歪了。 但是,如果是基于以上两点,那么我们使用最简单的恺撒法即可,为什么Base64看起来要比恺撒法复杂呢?这是因为在Email的传送过程中,由于历史原因,Email只被允许传送ASCII字符,即一个8位字节的低7位。因此,如果您发送了一封带有非ASCII字符(即字节的最高位是1)的Email通过有“历史问题”的网关时就可能会出现问题。网关可能会把最高位置为0!很明显,问题就这样产生了!因此,为了能够正常的传送Email,这个问题就必须考虑!所以,单单靠改变字母的位置的恺撒之类的方案也就不行了。关于这一点可以参考RFC2046。 基于以上的一些主要原因产生了Base64编码。 鉴于算法比较让人头大,想看的人自然会有看到的办法拉,俺是头大得很,就不放上来了。_________________答案18:怎么给美国的朋友打电话可以使用12593客户范围只要是移动客户开通国际长途后在非漫游状态下加拨12593即可进行一下31个国家或地区的长途优惠通话国家或地区
非漫游状态资费
0.88元/分钟美国,加拿大,日本,韩国 新加坡
1.2元/分钟英国,法国意,意大利,德国,新西兰澳大利,亚马来西亚,泰国,印尼,菲律宾,
1.99元/分钟西班牙,爱尔兰,荷兰,比利时,奥地利,葡萄牙,瑞典,挪威,丹麦,瑞士,芬兰,巴西,俄罗斯提示:开通方式凭主机有效证件到移动营业厅办理登陆 www.js.chianmobile.com网上营业厅办理联通的也是要开通国际长途后才可以拨打方式:00+国际电话区号+当地城市电话区号+当地电话号码 例:美国国际电话区号为1,纽约电话区号为212,当地电话号码为,则我们从中国打过去时拨打:78。 同理,如果从美国打电话回中国某城市,也是00+中国的国际电话区号(86)+国内该城市的电话区号+当地电话号码。 例:我国的国际电话区号为86,武汉的电话区号为27(国内长途是027),武汉当地电话号码为1234567,则我们从美国打电话回武汉时拨打:7。 拨打世界各国的电话号码无不如此。 英国、法国、韩国、德国的国际电话区号分别是:44、33、82、49
&copy .Com,All Rights Reserved.}

我要回帖

更多关于 Java this关键字 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信