JavaScript高级教程设计——读书笔记

2017-07-03  本文已影响92人  周撒飞

数组方法

var colors = ["red", "green", "blue"];
var colors2 = colors.concat("yellow", ["white", "pink"]);//red,  green, blue, yello, white, pink
  1. 删除:传递两个参数,splice(0,2)删除数组中的前两项
var colors = ["red". "green", "blue"];
var removed = colors.splice(1, 0);
//removed =  ["green", "blue"];
  1. 插入:传递三个参数,起始位置,要删除的项数,插入的项
var colors = ["red". "green", "blue"];
var removed = colors.splice(1, 0, "yellow", "pink");
//removed =  ["green", "blue", "yellow", "pink"];
  1. 替换:传递三个参数,向制定位置插入任意数量的项,且同时删除任意数量的项。起始位置,要删除的项数,插入的任意数量的项。
var number= [0,1,2,3,4,5,6,7,8,9];
console.log(number.indexOf(5));     //5
console.log(number.lastIndexOf(2));     //7
  1. every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true
  2. filter():返回执行制定函数后返回true的项组成的数组;
  3. forEach()
  4. map():放回每次函数调用的结果组成的数组;
  5. some():如果执行函数中任意项返回true,则整个返回true
var number = [0,1,2,3,4,5,6,7,8,9];
var everyResult = number.every(function(item){
    return item > 2;
});     //false

var someResult = number.some(function(item){
    return item > 2;
});     //true

var filterResult = number.filter(function(item){
    return item > 2;
});     //[3,4,5,6,7,8,9]

var mapResult = number.map(function(item){
    return item * 2;
});     //[0,2,4,6,8,10,12,14,16,18]
var values = [1,2,3,4,5];
var sum = values.reduce(function(prev, cur, index, array){
    return prev + cur;
});     //15

Function类型:

alert(10, 10);      //20
function sum(num1, num2){
    return num1 + num2;
};      //可以正常执行


alert(10, 10);      //undefine
var sum2 = function(num1, num2){
    return num1 + num2;
}
function factorial(num){
    if(num <= 1){
        return 1;
    }else{
        return num * factorial(num - 1);
    }
}       

//利用callee属性可以把上面的函数改写成下面的形式,降低耦合
function factorial(num){
    if(num <= 1){
        return 1;
    }else{
        return num * arguments.callee(num - 1);
    }
}    

argumentscaller属性:该属性保存着当前函数的函数的引用,如果在全局作用域中调用当前函数,它的值为null。

function outer(){
    inner();
}

function inner(){
    alert(inner.caller);
}

outer();

//利用caller属性可以把上面的函数改写成下面的形式,降低耦合
function outer(){
    inner();
}

function inner(){
    alert(arguments.callee.caller);
}

outer();

Boolean类型

Number类型

var num  = 10;
alert(num.toFixed(2));      //"10.00"
var num = 10;
alert(num.toExponential(1));    //"1.0e+1"

string类型

var stringValue = "hello world";
alert(stringValue.charAt(1));       //"e"
alert(stringValue.charCodeAt(1));       //"101"
  1. 拼接:concat,其实还不如用+来拼接字符串
  2. 三个基于子字符串创建新字符串的方法:sclice()substr()substring()sclice()substring()接收两个参数,第一个表示开始位置,第二个表示结束位置。substr()第一个参数表示开始位置,第二个参数表示返回的字符个数。
var stringValue = "hello world";
console.log(stringValue.indexOf("o"));      //4
console.log(stringValue.lastIndexOf("o"));      //7

trim()方法:删除前置及后缀的所有空格

var stringValue = "                      hello world                   ";
console.log(stringValue.trim());        //"hello woeld"
  1. 工厂模式
function createPerson(name, age, job){
    var o = new Object();
    o.name = this.name;
    o.age = this.age;
    o.job = this.job;
    return o;
}
var person1 = createPerson("reg", 22, "SWPUER");
  1. 构造函数模式
function Person (name, age, job){
      this.name = name;
      this.age = age;
      this.job = job;
}
var person = new Person("reg", "22", "software engineer");
  1. 原型模式
    function Person(){};
    Person.prototype.name = "reg";
    Person.prototype.age = 22;
    Person.prototype.job = "software enginer";
    var person1 = new Person();
    person1.name;      //"reg"

//更加简单的原型语句
Person.prototype= {
      name: "reg",
      age: 22,
      job: "software enginer"
}



## golang学习笔记
#### 基础组成
1. 包声明
2. 引入包
3. 函数
4. 变量
5. 语句&表达式
6. 注释 

package main //定义包的名称
import "fmt" //引入"fmt"包
func main(){ //函数开始执行的函数
fmt.Println("hello world!");
}


运行go程序:
go run test.go

变量声明:

/1指定变量类型,声明之后再赋值/
var v_name v_type;
var v_name = value;

/2直接赋值,自行判定变量类型/
var v_name = value;

/省略var, 注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误/
v_name := valueE

上一篇 下一篇

猜你喜欢

热点阅读