2019.3.7 Javascript 总结(面试前复习要点)

what should i do

  1. 看前端资料(掘金)
  2. 论文、面试
  3. 金三银四

JavaScript 要点总结:

  1. JavaScript函数:(int) parseInt(string,radix):将一个字符串string转为一个int
    解析:radix参数:是一个基数,(取值范围2-36);最后结果是这个数加上一个字符串各位的数

  2. 说说null和undefined的区别。
    都表示 无,如果转换为数值 undefined => NaN 有声明,但未赋值或者未初始化; null => 0 (原型链的终点) 没有,也没有定义,

  3. JavaScript中,基本类型和引用类型有什么不同:
    var bcc = arr;//传址 ,对象中传给变量的数据是引用类型的,会存储在堆中;
    var cxx = arr[0];//传值,把对象中的属性/数组中的数组项赋值给变量,这时变量C是基本数据类型,存储在栈内存中;改变栈中的数据不会影响堆中的数据

    1. 判断与浅拷贝和深拷贝的问题
      == 等于操作符 使用的时候会进行强制类型转换(判断中不太建议使用)
      === 全等操作符 不会进行强制类型转换
      如果使用全等符号判断字符和数字之间的转换,可以加上一个加号转换:
      数字转字符:’ '+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()
  4. 文档对象模型: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节点
实例解析:

  1. 使用css创建一个p(div)标签
    var para = document.createElement(“p”);

  2. 创建一个文本节点
    var node = document.createTextNode(“这是标签里面的文本内容”);

  3. 将文本节点的内容添加到刚刚新建的标签中:
    para.appendChild(node)
    ps:现在会在JS里面生成一个标签内容(DOM)也就是:

这是标签里面的文本内容

  1. 将生成的标签添加到就得标签所在的位置:
    var dom = document.getElementById(“test”);
    dom.appendChild(para);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章