JavaScript学习(new1)

js是很难的语言,易学难精,只能多次学习。
简介:简介很重要,是只是的骨架。
JavaScript是一种可变类型语言,相比于java等语言,在类型转化上有优势,但是在编译和阅读上又会造成困难。

对于变量的使用,我总结了一下几种js的特性

  • js有变量提升,所有声明会被提升到函数的最顶部。
    重点是两个,声明而不是初始化。函数顶部而不是文档顶部。
    对于初始化的不提升,结果,当然是显示unfinde啦
    还有,严格模式不让变量提升。
  • js之前有说过,是可变类型语言啦。
    所以,简单的声明 var a,a的类型是任意。可以是数字,对象,数组,字符。
    a=1;a=”1“ ;a=[1,1];都是可以的。
    在使用后也可以根据需求转换成另一种变量。(也可以手动进行类型转换)

接下来介绍一个和变量息息相关的知识点:作用域

在此之前,大家牢记几个概念。一会对比着理解

  • 变量是用于存储信息的"容器"。
  • JavaScript 对象是拥有属性(值)和方法(函数)的数据。
  • 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
  • 在 JavaScript 中, 对象和函数同样也是变量。
  • 在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。

因此,我们这么理解
函数是对象,对于全局函数,他是Window对象的方法(函数)
普通变量也是对象,或者对象的一部分属性
对于js来讲,一切都是对象。

那什么是作用域呢?

我的理解就是对象的{}包起来的部分,js文档的本质就是大小对象的嵌套,作用域是说,大括号的变量,函数,不能访问小括号里的,反过来则可以。
全局变量就是Window对象的属性和方法。
局部变量就是Window对象里的对象。
由此介绍三个关键字 var let const。PS:var和let定义的全局变量不同。let定义的不算document的属性。
上面的是基础,下面才是js重头戏。介绍js的几个主要功能。
ps:函数和方法的叫法不同,实质相同(Window的方法叫做函数)

js表单验证

据小道消息mjs被设计一开始就是为了做这个
x = document.forms[“表单名”][“input的名字”].value;
用的不多。但是有纪念意义

this 关键字

很难,很常用,不学不行。
this是对象的引用:差不多三(四)个代指

  1. 全局对象(就是Window啦):直接使用或者在函数里使用
  2. HTML元素:事件里使用(点击函数)
  3. 方法对象:在对象的方法里用
  4. 在严格模式下函数(Window方法)里用是违规的,结果是underfined
  5. 类似 call() 和 apply() 方法可以将 this 引用到任何对象。
    问我也不会,还在学,下一个

JavaScript JSON

一个格式,和js对象差不多(没用方法的那种)
JSON.parse() 用于将一个 JSON 字符串转换为 JavaScript 对象。
JSON.stringify() 用于将 JavaScript 值转换为 JSON 字符串。

javascript:void(0)

就是一个没有返回值,没有操作的函数。
我没用到过

异步编程

这个重要,但是好理解。
先介绍下回调,就是创建子进程,然后主进程做别的事,告诉子进程,在什么条件下,你去做件事,我就不等你啦。
异步回调广泛用于计时器函数(其他的也有,但是忘了)

setTimeout(function () {
    document.getElementById("demo1").innerHTML="RUNOOB-1!";
}, 3000);

另一个很重要的是Ajax。用来请求远程服务器上的xml和json
数据文件。
就像是监听器。
接下来是promise类,es6新增的

  • Promise 构造函数只有一个参数,是一个函数,这个函数在构造之后会直接被异步运行,所以我们称之为起始函数。起始函数包含两个参数 resolve 和 reject。
  • resolve 和 reject 都是函数,其中调用 resolve 代表一切正常,reject 是出现异常时所调用的
  • Promise 类有 .then() .catch() 和 .finally() 三个方法,这三个方法的参数都是一个函数,.then() 可以将参数中的函数添加到当前 Promise 的正常执行序列,.catch() 则是设定 Promise 的异常处理序列,.finally() 是在 Promise 执行的最后一定会执行的序列。

记住就好,不用会用,因为难度不高,不如前两者常用

函数

js的函数与其他语言很不一样。,首先我接下来会用表格列出它的一写特点。
PS:函数是对象。

类型函数表达式函数声明Function函数
有无等号没有
函数提升不可以可以不可以
箭头函数表达式有*
自调用函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值