博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript学习(new1)
阅读量:3890 次
发布时间:2019-05-23

本文共 2032 字,大约阅读时间需要 6 分钟。

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函数
有无等号 没有
函数提升 不可以 可以 不可以
箭头函数表达式 有*
自调用函数

转载地址:http://bzshn.baihongyu.com/

你可能感兴趣的文章
Makefile之常用函数介绍
查看>>
Makefile之自动变量介绍
查看>>
C++之位测试练习的相关代码
查看>>
C++之IPC测试单元
查看>>
C++之测试snmp的注册模块
查看>>
WebKit之WebSocket的初步源码分析2
查看>>
WebKit之Canvas的源码初步分析1
查看>>
WebKit之Canvas源码分析2
查看>>
WebKit之CSSValue的继承关系
查看>>
WebKit之ScriptWrapper继承关系图
查看>>
Perl之默认变量
查看>>
Linux之ARM/Linux与单片机开发差异
查看>>
Linux之内存泄露的检测工具
查看>>
URL之开源项目的在线网址
查看>>
工具之OpenGrok的搭建方法
查看>>
Android之NDK搭建
查看>>
qt之VS2008编译
查看>>
Python之自动生成代码继承关系
查看>>
php之与python进行socket通信
查看>>
Linux之共享库封装、使用的典型demo
查看>>