Dictionary<K,V>和HashTable的区别
Dictionary<K,V>和HashTable的相同点:添加元素,删除元素,通过键访问值的方法相同。
Dictionary<K,V>和HashTable的不同点:
Dictionary<K,V>对添加的元素具有类型约束,HashTable可添加任意类型的元素。
Dictionary<K,V>不需要装箱、拆箱操作,HashTable添加时装箱,读取时拆箱。
--InnerText和InnerHTML
InnerText读取的时候是文本,写入的时候是文本+标签;
InnerHtml读取的时候是文本+标签;写入的时候是文本;
JavaScript
大小写敏感
弱类型
定义类型用var
字符串用单引号
结果用分号
-------
值类型存在栈里,引用类型的地址存在栈里.本身的值存放在堆中
<a href="javascript:alert('出来')";>
<a href="javascript:void(0)"; > 让标签在界面上不动,不置顶界面
->string类型在javascript中是值类型
typeof(x); 判断x是什么类型
由于==会将值转换类型后再判断相等,可能有意想不到的结果.
===3个等号是严格等于
js中没有块级作用域 , js中没有方法重载 , js数组中括号[];
转义符用\转义
setInterval方法 设定计时器
--把文本复制到剪贴板里
window.clipboardData.setData('text',text);
--动态的添加按钮和文本框,往层里面添加按钮;
//首先创建一个按钮节点
var btn = document.createElement('input');
btn.type = 'button';
btn.value = '老牛好猥琐';
var divObj = document.getElementById('dv');
var txtObj = document.createElement('input');
txtObj.type = 'text';
btn.value = '你好';
divObj.appendChild(txtObj);
//把这个节点添加到层里
divObj.appendChild(btn);
--兼容问题table.tBodies[0].appendChild(tr);
浏览器 兼容 创建表格的时候
有insertRow这个问题
JS方法直接调用为函数,用new调用为对象.
String.split('|');返回数组,自动添加逗号
Stirng.split('|',提取数组中要几位);
在split//中间使用正则表达式
var msg='a实心星b实心星c空心星f';
alert(msg.split(/实心星|空心星/));
substring('从第一位索引开始截取','截取到位数的前一位');
dictionary ==健值对
var msg=new Array();
msg["laoniu"]="老牛";
alert(msg.laoniu);
alert(msg["laoniu"]);
--另外一种格式
var msg={"老牛":"laoniu","老马"";"laoma"};
for(var key in msg){
alert(key+','+msg[key]);
}
--扩展方法
var email='405663@qq.com';
string.prototype.isEmail=function(msg){
var intdex=msg.indexOf('@');
return index>-1 ? true:false;
};
alert(String.prototype.isEmail(email));
//返回true;
--javascript方法加不加括号的区别
加括号的话就等于把方法赋值给一个变量了,
如果不加括号就等于调用了这个方法;
--window.screen.width 检查系统分辨率
--设置文本到剪贴板里
window.clipboardData.setData('当前类型文本',要复制的内容);
--获取
getData('text');读取剪贴板的值
clearData('text');清空剪贴板
--不让复制内容到剪贴板
document.body.οncοpy= function(){
alert('不让复制');
return false;
};
--复制剪贴板的内容 后面如果自定义内容的话 必须在settimeout设置时间
--onpaste 不让粘贴内容
--write的好处 用于获取最新的新闻信息 外界网站使用
--节点前添加节点
document.getElementById('dv').insertBefore(新节点,参照节点);
//IE和火狐下的兼容写法
if(typeof(dvobj.style.styFloat)=='string'){
dvobj.style.styleFloat='right';
}else{
dvobj.style.cssFloat='right';
}
--隐藏层的高度
使用dv.offsetHeight属性获取层的高度;
obj.offsetTop 指 obj 距离上方或上层控件的位置,整型,单位像素。
obj.offsetHeight 指 obj 控件自身的高度,整型,单位像素。
******不同浏览器的差异******
appendchild和insertCell
使用Dom获取和更改网页标签元素内文本,在ie使用InnerText;在火狐里面使用textContent;
正则表达式
/\d{5}g/
加g代表返回多个值的数组
--压缩js文件
java -jar compiler.jar --js hello.js --js_output_file helloc.js
--使用文档碎片,避免多次更新界面.操作ul列表把ul加到文档碎片里,然后文档碎片在添加到td标签中
//使用文档碎片的好处,可以提高效率。
var fragment=document.createDocumentFragment();