Javascript

JS

本文主要是介绍JS,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java 部分需要掌握的知识点:

1. typeof

变量的数据类型可以使用 typeof 操作符来查看:

typeof "John"                // 返回 string
typeof 3.14                  // 返回 number
typeof false                 // 返回 boolean
typeof [1,2,3,4]             // 返回 object
typeof {name:'John', age:34} // 返回 object

  • typeof 一个没有值的变量会返回 undefined

 

  • 任何变量都可以通过设置值为 undefined 来清空。 类型为 undefined.
  • 在 JavaScript 中 null 表示 "什么都没有"。
  • null是一个只有一个值的特殊类型。表示一个空对象引用。

null 和 undefined 的值相等,但类型不等:

typeof undefined             // undefined
typeof null                  // object
null === undefined           // false
null == undefined            // true    

2. "==="和"=="

===:绝对等于(值和类型都相等)

3. let/const

 

4. function

function myFunction(a, b) {
    return a * b;
}
const x = (x, y) => { return x * y };
function myFunction(x, y = 10) {
    // y is 10 if not passed or undefined
    return x + y;
}
 
myFunction(0, 2) // 输出 2
myFunction(5); // 输出 15, y 参数的默认值

JavaScript 闭包

还记得函数自我调用吗?该函数会做什么?

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();
 
add();
add();
add();
 
// 计数器为 3

 

 

5. array

let myCars=["Saab","Volvo","BMW"];

push(末尾添加新的元素)

pop (删除数组的最后一个元素)

map(

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

map() 方法按照原始数组元素顺序依次处理元素。

fill() 方法用于将一个固定值替换数组的元素

xs=Array(100).fill(100).map((x,i) =>i+1);(列出了1-100)

 

 

6. foreach/reduce

for (const x of xs){

  sum+=x;

}

xs.forEach(x => {sum = sum+x;})

sum = xs.reduce((partialSum,x)=>partisalSum +x) //reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

7.filter

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。

const events = xs.filter(n=>n%2 ===0)

返回的都是偶数的

 

8.object

定义 JavaScript 对象可以跨越多行,空格跟换行不是必须的:

 

 

 

 

 

 

 

 这个就是上面提到的闭包吧

 9.计数

 

 

 

10.JavaScript in the browser 

 

 

API

navigator.geolocation;

navigator.deviceMemory;

window.innterWidth;

window.innerHeight;

document.body;

document.images;

document.cookie;

Node

  • Document
  • Element
  • DocumentFragment

 

11.Asynchronous JS

 

 

Promises 

let p = <make a promise object which runs immediately>

function resolved(v) {use result}

function rejected(e) {handle error}

p.then(resoved).catch(rejected);

 

let p = new Promise((resolve,reject)=> {
    setTimeout(() => resolve('line 2 running'), 2000);
})
p.then(console.log);
console.log("main thread has reached line 7")
function flow(flag){
       //promise是一个构造函数,内部接收一个回调函数。
       //回调函数内部有两个参数,reslove是执行成功的时候调用的,reject是失败调用的
       var promise = new Promise(function(reslove,reject){
          setTimeout(function(){//模拟异步操作
               if(flag){
                 reslove(true);//处理成功
               }else{
                 reject(false)处理失败
               }
          },5000)
       });
       return promise;
   }
   //flow返回的是一个Promise对象,这样我们就能通过下面的方式来的处理异步操作了。
   //调用该函数
   flow().then(function(success){     
   }).catch(function(error){
        //处理失败返回
   });

Fetch

 

 

 

 

 

插入

<script src="xxx"></script>

 

这篇关于JS的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!