1关于script标签属性,注意点,浏览器文档模式,各种数据类型的转化
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<!--script标签的属性:1.charset 2.defer 3.language 4.src 5.type
他里边的代码解释顺序是从上到下。
里边的代码内容不能含有script标签,因为会把它作为结束标志,解决办法是把它分拆。
引用的外部js文件的解析顺序也是从上到下,但是如果都把引用的外部js文件放在头处,如果碰到引用外部js文件多且大,
解决办法是把它们放在body元素中
或者在script的属性中设置defer="defer"。不过对于他只有火狐和IE支持这个属性。
在xhtml代码中,不要使用<号,因为会把它解析城其他的标志,解决方法是1.把<换为< 2.使用<![CDATA[js代码]]>
3.使用 //<![CDATA[js代码 //]]> 也可以
-->
<script type="text/jscript">
//<![CDATA[
function compare(a,b)
{
if(a < b)
{
alert("b比a大");
}
else{
alert("a比b大");
}
}
// ]]>
</script>
<!--尽量引用外部js的 原因:维护性强,可缓存,可适应未来-->
<!--文档类型:IE5是混杂模式,IE7是标准模式,IE8是超级标准模式,在IE8中可以用meta标签来关闭默认文档模式。
如<meta http-equiv="X-UA-Compatible" content="IE=7"/>,这样就可以使用IE7的呈现引擎来呈现页面-->
<input id="Button1" type="button" onclick="compare(1,2);" value="比较1和2的大小"/>
<!--定义变量的时候可以这样定义:var message= 'infoa',meesage1=1,message2=true;-->
<!--typeof的使用:他并不是一个函数,它只是一个操作符,但是可以用()如下:-->
<script type="text/jscript">
function testTypeOf() {
var message = "message", number1 = 95;
alert(typeof message);
alert(typeof (message));
alert(typeof number1);
}
</script>
<input id="Button2" type="button" value="检测类型" onclick="testTypeOf();" />
<!--未初始化的默认值未undefined,null类型是一个object,undefined派生自null @40-->
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<!--JS里是可以表示八进制,和十六进制的,八进制就是在前边加一个前导的零,如果后边的数超过了0到7,
那么前导的零会被忽略,当做10进制来解析 。 对于16进制,前边需要加0x表示16进制
-->
<!--NaN:用于返回本来要返回数值的操作数而未返回的操作数值得情况(这样就不会出错了),它和任何数值都不相等,包括和自己。如-->
<script type="text/jscript">
function change() {
if (NaN == NaN) {
alert(true);
}
else {
alert(false);
}
}
</script>
</head>
<body>
<input id="Button1" type="button" value="测试NaN" onclick="change();" />
<!--有三个数值转换函数:Number():用于任何数据类型,包括对象。parseInt和paseFloat:只用于把字符串转换为数值。
paseInt会忽略前导的空格,它也能识别各种格式的整数。如:
-->
<script type="text/javascript">
function testInt() {
var number1 = parseInt("0xAF", 16);
var numbser2 = parseInt("010", 8);
alert("0xAF转化为16进制为:" + number1);
alert("010转化为8进制为:"+numbser2);
}
</script>
<input id="Button2" type="button" value="parseInt测试" onclick="testInt();" />
<!--paseFloat:它始终会忽略前导的0,同时对于16进制的数它会转化为0如:-->
<script type="text/javascript">
function testParseFloat(a) {
alert(parseFloat(a));
alert("0xAF在paseFloat中为:" + parseFloat("0xAF"));
}
</script>
<input id="Button3" type="button" value="测试parseFloat" onclick="testParseFloat('010');" />
<!--数值,bool值,对象都有toString()方法。而null,undefine是没有toString()方法的,多数情况下,它并不需要参数。但是在需要把数字
类型的字符串转化为各种数据格式时候,可以传递参数 如:-->
<script type="text/javascript">
function testToString(number) {
alert("9转化为8进制:"+number.toString(8));
}
</script>
<input id="Button4" type="button" value="测试testToString" onclick="testToString(9);" />
<!--在不知道其值是否是null,undefine的情况下,可以使用String()方法。 如:-->
<script type="text/javascript">
function testString(a) {
alert(String(a));
}
</script>
<input id="Button5" type="button" value="测试String" onclick="testString(null);"/>
<!--对象其实就是一组数据和功能的组合。它有6个属性和方法。-->
<!--位操作符,关键是要知道底层对有符号的正数和负数做的转化。(补码),非(~),与(&),或(|),异或(^)
左移(<<),左移不会影响操作数的符号位。有符号的右移(>>),无符号的右移(>>>)。有符号的右移和无符号的右移对于
正数没有什么影响,但是对于负数差别就很大了。因为无符号右移是以0来填充空位,有符号右移是以符号位的值充空空位。如:
-->
<script type="text/javascript">
function testMoveRight(a){
var oldValue = a;
var newValue = a>>>5;
alert("-64的无符号右移后的值:" + newValue);
}
</script>
<input id="Button6" type="button" value="测试负数的无符号右移" onclick="testMoveRight(-64);" />
</body>
</html>
1关于script标签属性,注意点,浏览器文档模式,各种数据类型的转化的更多相关文章
- 设置IE浏览器文档模式版本
浏览器版本问题是所有开发web的程序员共同的诟病,尤其是IE浏览器,笔者上次修改公司的一个项目中出现项目是在IE9没有出来之前,而现在修改时,则发现页面上出现的表格的错乱(因为表格是通过js动态生成的 ...
- 通过<meta>标签指定IE的文档模式实现CSS3兼容
今天发现之前做好的一个页面在IE中打开显示的效果不正常,本地和服务器上显示的是两种不同的样式. 经过确认文档内容和CSS都是一样的. 通过IE F12(开发人员工具)发现不正常的样式 浏览器文档模式自 ...
- 发布时一键添加html中的css标签和script标签版本号来防止浏览器缓存
AppendFileVersion 是一个VSIX插件支持vs2015意以上版本 是我用来发布时一键添加html中的css标签和script标签版本号来防止浏览器缓存 分享给大家! download ...
- DOM浏览器文档模型
DOM浏览器文档模型 1.对XHM/XHTML 编写成DOM文档 可形成动态网页 2.'*'获取所有节点 GetElementsByTagName():获取所有的标签名的集合--需要在js中使用win ...
- HTML span标签:用来组合文档中的行内元素
在DIV+CSS切图布局重构技术中,除了常常使用div标签外也常常使用span标签布局,通常也可以通过对span标签对象设置不同样式实现我们要的美化效果.这里主机吧主要讲的是span标签的定义和用法. ...
- JQuery DOM操作(属性操作/样式操作/文档过滤)
jQuery——入门(三)JQuery DOM操作(属性操作/样式操作/文档过滤) 一.DOM属性操作 1.属性 (1).attr() 方法 语法:$(selector).attr(name|prop ...
- <meta>指定浏览器模式(browser mode)或文档模式(document mode)无效
这是前两天解决的一个故障,准确的说它不是一个SharePoint的问题,而是IE8浏览器或者说是HTML代码的问题,但我感觉还是挺有意思的,所以贴上来分享一下. 基础知识 简单的讲,就是IE浏览器中有 ...
- X-UA-Compatible IE 浏览器默认文档模式设置
制作网页的时候,IE8浏览器浏览页面的时候,有时候文档模式默认是IE7,导致IE8兼容性不是非常好.出现IE7应该出现的模式. 解决的方法例如以下: 在X-UA-Compatible中可用的方法有: ...
- 关于html中的doctype的重要性的认知以及IE的浏览器模式与文档模式
浏览器模式”用于切换IE针对该网页的默认文档模式.对不同版本浏览器的条件备注解析.发送给网站服务器的用户代理(User-Agent)字符串的值.网站可以根据浏览器返回的不同用户代理字符串判断浏览器的版 ...
随机推荐
- asp.net学习之SqlDataSource
原文:asp.net学习之SqlDataSource 通过 SqlDataSource 控件,可以使用 Web 服务器控件访问位于关系数据库中的数据.其中可以包括 Microsoft SQL Serv ...
- 异步编程和线程的使用(.NET 4.5 )
C#:异步编程和线程的使用(.NET 4.5 ) 异步编程和线程处理是并发或并行编程非常重要的功能特征.为了实现异步编程,可使用线程也可以不用.将异步与线程同时讲,将有助于我们更好的理解它们的特征 ...
- Debug和Release的不同
1. 变量. 大家都知道,debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc(注1),而release的赋值近似于随机(我想是直接从内存中分配的,没有 ...
- SQL ROW_NUMBER() OVER函数的基本用法用法
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) 简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW ...
- enq: SQ - contention
--每分钟操作 SQL> select sql_id, mi, count(mi) 2 from (select event, sql_id, to_char(sample_time ...
- app后端设计(0)--总文件夹
原文:http://blog.csdn.net/newjueqi/article/details/19003775 做了接近两年app相关的系统架构,api设计,先后在两个创业公司中工作,经历过手机网 ...
- HDU 2544-最短路(最短路spfa)
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- 剖析Jetty实现原理
之前写一个简单易用Jetty文章.Jetty对于做JAVA Web发展的方面来说并不陌生,他是一个servlet集装箱,只有相对Tomcat这是比较简单的设计,并且也相对简单,使用灵活,我是学习和使用 ...
- Hadoop与HBase中遇到的问题(续)java.io.IOException: Non-increasing Bloom keys异常
在使用Bulkload向HBase导入数据中, 自己编写Map与使用KeyValueSortReducer生成HFile时, 出现了以下的异常: java.io.IOException: Non-in ...
- C语言 链表
原文:C语言 链表 最近在复习数据结构,想把数据结构里面涉及的都自己实现一下,完全是用C语言实现的. 自己编写的不是很好,大家可以参考,有错误希望帮忙指正,现在正处于编写阶段,一共将要实现19个功能. ...