js 基础

作者: FrankZhang63 | 来源:发表于2022-05-08 21:45 被阅读0次

JavaScript 函数 是对象

函数提升 提升作用域

在声明前调用。

自调用 (不能自调用声明的函数)

表达式后紧跟()

(function () {

    var x = "Hello!!";      // 我将调用自己

})();

箭头函数

(参数1, 参数2, …, 参数N) => { 函数声明 }

(参数1, 参数2, …, 参数N) => 表达式(单一)

// 相当于:(参数1, 参数2, …, 参数N) =>{ return 表达式; }

//当只有一个参数时,圆括号是可选的

(单一参数) => {函数声明}

单一参数 => {函数声明}

//没有参数的函数应该写成一对圆括号

() => {函数声明}

函数参数

arguments对象 包含了函数调用的参数数组。相当于数组名

JavaScript 函数调用

全局对象 当函数没有被自身的对象调用时 this 的值就会变成全局对象。

函数作为对象方法调用,会使得 this 的值成为对象本身。

call()  apply() 预定义的函数方法。 方法第一个参数必须是对象本身。

call() 传的是每个参  apply() 传的是参数数组的名字   

闭包

私有变量可以用到闭包

计数器

<button type="button" onclick="myFunction()">计数</button>

<p id="demo">0</p>

<script>

    var add=( function(){

        var counter =0;

        return function () {return counter +=1;}

    })();

    function myFunction(){

        document.getElementById("demo").innerHTML=add();

    }

</script>

JavaScript 类(class) 类似java 

类声明和类表达式主体都执行在严格模式下。

构造方法名为 constructor();

JavaScript HTML DOM (文档对象模型)

动态改变元素

document代表当前界面

1.查找HTML元素

Id查找

标签名查找

类名查找

改变HTML内容  使用innerHTML属性

改变HTML属性 

使用document.getElementById(id).attribute=新属性值

改变CSS

document.getElementById(id).style.property=新样式

HTML DOM事件

addEventListener()  用于向指定元素添加事件,可以向一个元素添加多个事件。

removeEventListener() 移除事件监听

语法

element.addEventListener("event", function, useCapture);

第一个参数是事件类型 不要使用on前缀 ,click而不是onclick

第二个参数是事件触发后调用的函数

第三个参数布尔值,用来描述事件是冒泡还是捕获。该参数可选 false 冒泡传递    true 捕获传递

冒泡 内部元素事件先触发

捕获 外部元素事件先触发

JavaScript HTML DOM元素(节点) 重点

2.创建新的HTML元素 

appendChild() 用于添加新元素到尾部

insertBefore()  用于将新元素添加到开始位置

//创建<p>元素

var para = document.createElement("p");

//为<p>元素创建一个新的文本节点

var node = document.createTextNode("这是一个新的段落。");

//将文本节点添加到<p>元素中

para.appendChild(node);

//在一个已存在的元素中添加p元素

var element = document.getElementById("div1");

//添加到已存在的元素

element.appendChild(para);

3.移除已存在的元素,必须知道该元素的父元素

需要查找父元素,子元素,然后从父元素中移除子元素

4.替换HTML元素 replaceChild(新的,要替换的)

JavaScript HTML DOM 集合  Collection

HTMLCollection 对象    length 像数组的长度, 但是无法使用数组的方法

NodeList 对象 getElementsByClassName() 返回的是NodeList对象,不是Collection对象

所有浏览器的 childNodes 属性返回的是 NodeList 对象。

大部分浏览器的 querySelectorAll() 返回 NodeList 对象。

HTMLCollection 与 NodeList 的区别

HTMLCollection 元素可以通过 name,id 或索引来获取。

NodeList 只能通过索引来获取。

JavaScript 对象

创建js对象

使用Object定义并创建对象实例

使用函数来定义对象,然后创建新的对象实例

JavaScript 对象可变,拷贝的对象改变,原始的也会跟着变化

JavaScript prototype (原型对象)

添加一个新的属性需要在构造器函数中添加

prototype 继承

使用prototype属性就可以给对象的构造函数添加新的属性和方法

JavaScript Number对象

整数 精度 15位

小数 最大位数17位

如果前缀为0, 会解释为八进制数

如果前缀为0x,会解释为十六进制数

默认 十进制

toString() 方法完成进制转换

无穷大 Infinity  负无穷大 -Infinity

数字可以是数字或对象

JavaScript Array 对象

Javascript Window 对象

浏览器BOM

windows 尺寸

window.innerHeight  浏览器窗口的内部高度 包括滚动条

window.innerWidth  浏览器窗口的内部宽度 包括滚动条

window.open() - 打开新窗口

window.close() - 关闭当前窗口

window.moveTo() - 移动当前窗口

window.resizeTo() - 调整当前窗口的尺寸

window 前缀可不写

window Location(重要)

window Location Pathname  返回URL的路径名

location.assign(url) 方法加载新的页面

location.replace(url) 方法用覆盖原来界面

window.history 对象包含浏览器的历史记录

history.back() - 与在浏览器点击后退按钮相同

history.forward() - 与在浏览器中点击向前按钮相同

window.navigator 对象包含有关访问者浏览器的信息

JavaScript 弹窗

警告框 alert() 当警告框出现后,用户需要点击确定按钮才能继续

确认框 confim() 点击 确认返回true 或 取消返回false 来确定操作 

提示框 prompt("提示","缺省输入")

换行使用 \n

JavaScript 计时事件

setlnterval(function(){函数},间隔毫秒数) 间隔指定的毫秒数不停的执行指定的代码

clearInterval() 停止setInterval()方法执行

setTimeout(function(){函数},间隔毫秒数)  在指定的毫秒数后执行指定代码

clearTimeout() 停止执行

Javascript Cookie

用于存储Web 页面的用户信息

Cookie 以名/值对形式存储

username=John Doe

document.cookie 来创建,读取,删除cookie

创建Cookie

expires 添加过期时间

path 告诉浏览器cookie的路径  默认情况 cookie属于当前页面

document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT; path=/";

修改Cookie 类似于创建Cookie

删除Cookie  把expires设置为以前的时间即可

设置cookie 值的函数

function setCookie(cname,cvalue,exdays)

{

  var d = new Date();

  d.setTime(d.getTime()+(exdays*24*60*60*1000));

  var expires = "expires="+d.toGMTString();

  document.cookie = cname + "=" + cvalue + "; " + expires;

}

获取cookie 值的函数

function getCookie(cname)

{

  var name = cname + "=";

  var ca = document.cookie.split(';');

  for(var i=0; i<ca.length; i++)

  {

    var c = ca[i].trim();

    if (c.indexOf(name)==0) return c.substring(name.length,c.length);

  }

  return "";

}

检测cookie 值的函数

function checkCookie()

{

  var username=getCookie("username");

  if (username!="")

  {

    alert("Welcome again " + username);

  }

  else

  {

    username = prompt("Please enter your name:","");

    if (username!="" && username!=null)

    {

      setCookie("username",username,365);

    }

  }

}

获得和设置表单的值

var  input-text =document.getElementById('username');

input-text.value='123';  修改输入框的值

对于单选框 多选框等固定的值, .value只能取到当前的值

.checked  //查看返回的结果是否为true,为true则被选中

.checked =true 赋值

相关文章

  • React-Native 随笔

    学习基础: js的基础知识, rect.js基础 JSX语法基础 FlexBox布局 安装 安装node.js下载...

  • 最新web前端相关课程学习链接

    js基础篇 js进阶篇 js高级篇 vue基础篇 vue高级篇 react基础 react高级 Nodejs基础 ...

  • web前端 -- Day23 js高级

    js基础 JavaScript简称:JS JS分三个部分: ECMAScript标准---基础的语法 DOM D...

  • 前端JavaScript面试技巧

    1-1 课程概述 要做什么?——讲解前端 JS 基础面试题 哪些部分?——JS 基础,JS-WEB-API,JS ...

  • 4/07day28_js基础

    day28_js基础 回顾 JS基础语法 JS运算符 JS流程控制语句 条件语句 JS的条件语句和Java语法基本...

  • 2018-12-20

    1.01.尚硅谷_JS基础_JS简介(1) 10.10.尚硅谷_JS基础_Null和Undefined(10) 1...

  • JS基础和WebAPIs的关联性

    学习ECMAscript标准规定的基本语法掌握JS基础语法只学习JS基础做不了网页交互效果学习JS基础语法是为了后...

  • 2019-07-27 前端面试题

    1.js的基础类型 js的基础类型包括 Undefined , Null , String ,Number ,...

  • 网络编程(十九) JavaScript(9)

    一、 JS的组成 1.1 JS基础阶段以及Web APIs阶段 【1】JS基础阶段 我们学习的生死ECMAScri...

  • 发现•分享—2019-01-17

    文章 JS JS 异步编程六种方案 JS基础—原型对象的那些事(一) JS基础—原型对象的那些事(二) CSS 综...

网友评论

    本文标题:js 基础

    本文链接:https://www.haomeiwen.com/subject/brccurtx.html