what should i do
- 看前端资料(掘金)
- 论文、面试
- 金三银四
JavaScript 要点总结:
-
JavaScript函数:(int) parseInt(string,radix):将一个字符串string转为一个int
解析:radix参数:是一个基数,(取值范围2-36);最后结果是这个数加上一个字符串各位的数 -
说说null和undefined的区别。
都表示 无,如果转换为数值 undefined => NaN 有声明,但未赋值或者未初始化; null => 0 (原型链的终点) 没有,也没有定义, -
JavaScript中,基本类型和引用类型有什么不同:
var bcc = arr;//传址 ,对象中传给变量的数据是引用类型的,会存储在堆中;
var cxx = arr[0];//传值,把对象中的属性/数组中的数组项赋值给变量,这时变量C是基本数据类型,存储在栈内存中;改变栈中的数据不会影响堆中的数据- 判断与浅拷贝和深拷贝的问题
== 等于操作符 使用的时候会进行强制类型转换(判断中不太建议使用)
=== 全等操作符 不会进行强制类型转换
如果使用全等符号判断字符和数字之间的转换,可以加上一个加号转换:
数字转字符:’ '+10 === ‘10’ 判断结果为true
字符转数字: +‘10’ === 10 判断结果同样为true
ps:如果在其他地方想要实现字符串和数字互转则有:
字符串转数字:s是字符串:num = parseInt(s) ;将s 转为int的数字(如果有小数则略去)或者num = parseFloat(s); 将s 转为float的数字 ;或者Number(s) 这时s不能出现非数字字符
数字转字符串:num 是一个数字:str = num.tostring()
- 判断与浅拷贝和深拷贝的问题
-
文档对象模型:DOM(Document Object Model 文档对象模型)
JS可以通过DOM做到:
JavaScript 能够改变页面中的所有 HTML 元素
JavaScript 能够改变页面中的所有 HTML 属性
JavaScript 能够改变页面中的所有 CSS 样式
JavaScript 能够对页面中的所有事件做出反应
1、围绕改变元素(元素就是element 也就是每个
查找 HTML 元素
通过 id 找到 HTML 元素 :document.getElementById(“id名”);
通过标签名找到 HTML 元素:document.getElementsByTagName(“p(标签名)”)
通过类名找到 HTML 元素 document.getElementsByClassName("")
能够改变页面中的所有 HTML 元素(就是改变对应标签里面的内容)内容代表的值:innerHTML
<script>
//通过ID取得对应的标签元素
var pElement = document.getElementById("pid");
//修改这个标签内的内容
pElement.innerHTML = "新内容";
</script>
改变页面中的所有 HTML 属性 (像是改变img标签的src属性)
var imgElement = document.getElementsTagName("img");
imgElement.src = "/c/test.png";
改变CSS:
document.getElementById("p2").style.fontSize="larger";
- HTML 事件的例子(css3也有响应事件):
当用户点击鼠标时 :οnclick=demo();:
onmousedown, onmouseup 以及 onclick 构成了鼠标点击事件的所有部分。首先当点击鼠标按钮时,会触发 onmousedown 事件,当释放鼠标按钮时,会触发 onmouseup 事件,最后,当完成鼠标点击时,会触发 onclick 事件。
当网页加载时: onload =demo();
当网页离开页面时被触发:onunload =demo();
当鼠标移动到元素上时:οnmοuseοver=“mOver()”
当鼠标离开目标函数触发的事件:οnmοuseοut=“mOut()”
当输入字段被改变时(输入框离开时被触发):<input type=“text” id=“fname” οnchange=“myFunction()”
下载的时候触发事件:“mymessage()”;
当提交 HTML 表单时
当用户触发按键时
当图像已加载时:
获取焦点事件:οnfοcus=demo();
失去焦点事件:onblur = demo();(可以用于触发输入框的信息验证)
ps:onfocus 属性不适用于以下元素:、、
、、、>、、、
事件绑定:(不用再标签里显示写该响应事件了,直接在js里面写绑定他们对应的事件和方法)
注意:事件绑定是直接卸载JavaScript内容里面的,也就是说,当某个HTML页面关联到某个JS文件的时候,就一点会执行这个绑定事件,当触发绑定事件的语句柄的时候就会触发绑定事件(这个事件可function)
eg:渠道myBtn标签使用addEventListener绑定事件:标签如果影响click事件(也就是onclick)就会触发方法:displayDate()
document.getElementById(“myBtn”).addEventListener(“click”, displayDate);
注意哦,还可以向同一个标签绑定两个相同监听:
var x = document.getElementById("test"); //获取到id为test的标签元素
x.addEventListener("click",function1);
x.addEventListener("onmouseover",function2);
removeEventListener() 方法移除由 addEventListener() 方法添加的事件句柄
使用:document.getElementById(“test”).removeEventListener(“mousemove”, myFunction);
显示提示窗口:alert(“string”);
将输入框的英文改为小写:
document.getElementById(“fname”).value=x.toUpperCase();
Javascript HTMLDOM节点
实例解析:
-
使用css创建一个p(div)标签
var para = document.createElement(“p”); -
创建一个文本节点
var node = document.createTextNode(“这是标签里面的文本内容”); -
将文本节点的内容添加到刚刚新建的标签中:
para.appendChild(node)
ps:现在会在JS里面生成一个标签内容(DOM)也就是:
这是标签里面的文本内容
- 将生成的标签添加到就得标签所在的位置:
var dom = document.getElementById(“test”);
dom.appendChild(para);