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)字符串的值.网站可以根据浏览器返回的不同用户代理字符串判断浏览器的版 ...
随机推荐
- (Chrome42)Lodop总计页面提示“未安装”要么“请升级”可能的原因和解决方案
Chrome42版本号之后,支持NP态,要手工打开,方法例如以下: 在谷歌浏览器地址栏输入: chrome://flags/#enable-npapi 然后找到"启用NPAPI"地 ...
- RQNOJ PID3 / Jam的计数法
题目描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文字 ...
- js 正则学习小记之NFA引擎
原文:js 正则学习小记之NFA引擎 之前一直认为自己正则还不错,在看 次碳酸钴,Barret Lee 等大神都把正则玩的出神入化后发现我只是个战五渣. 求抱大腿,求大神调教. 之前大致有个印象,正 ...
- ural 1932 The Secret of Identifier 容斥
主题链接:点击打开链接 stl+容斥 #include <cstdio> #include <cstring> #include <algorithm> #incl ...
- oracle_分区表的新增、修改、删除、合并。普通表转分区表方法
一. 分区表理论知识Oracle提供了分区技术以支持VLDB(Very Large DataBase).分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中.分区完全对应用透明. Oracl ...
- ocp11g培训内部教材_053课堂笔记(043)_数据备份
053:数据库高级管理: 目录 第一部分:数据库备份与恢复... 4 第一章:备份恢复概述... 4 1.1 备份的意义: 4 1.2 数据库故障的类型:... 4 1.3 制定你的备份和恢复的计划. ...
- Flex 日志管理
在Flex中调试方法有两种: 一是用trace()函数,在flex builder中进行调试: 二是用logTarget类,例如以下代码: // Create a target. var logTar ...
- 关于Java的对象、数组、String类的具体用法
对象的行为: 1.内存分配(栈和堆的区别) 栈:保存局部变量的值(用来保存基本数据类型的值:保存类的实例的引用) 对:用来存放动态产生的数据,比如new出来的对象 2.调用方法 方法返回一个值.方法不 ...
- 经典HTML5小游戏 支持各种浏览器 (围住神经猫)
源码地址: http://files.cnblogs.com/files/liujing379069296/MyCat.rar 插件地址:http://files.cnblogs.com/files/ ...
- 使用Jenkins来构建Docker容器
使用Jenkins来构建Docker容器(Ubuntu 14.04) 当开发更新了代码,提交到Gitlab上,然后由测试人员触发Jenkins,于是一个应用的新版本就被构建了.听起来貌似很简单,dua ...