//先说下 我的编译环境 我使用sublime 3 编写
//下载sublime 3
// 下面命令行走起
打开Packages目录,Preferences > Browse Packages 就可以进入这个目录。
$ cd /Users/xxxxx/Library/Application\ Support/Sublime\ Text\ 3/Packages
这里注意空格需要使用\来转义
$ git clone https://github.com/wbond/sublime_package_control.git "Package Control"
等下完,重启sublime就好了
javascript 学习笔记
一、基础知识
1、 var 声明变量 运行时编译器会优先读取所有变量,然后再编译, eg:console.log(a); var a = 1;-->var a;console.log(a);a = 1;
2、标示符命名规则 注意点 第一个字符不允许数字 * 运算符 ,可以用中文
3、区块 js代码中{}内外 var 参数的作用区域是一样的
4、注意js的if(x === 1)三连等严格相等运算符 虽然我还是用 ==,其他地方for while switch break return 等 与C差别不大
5、数据类型 : number : 整数和小数 string:字符组成 boolean:true(真)和false 对象(object)
6、if(typeof v === "undefined"){} var o = {} if (o instanceof Array) instanceof 类似于iskindof
7、null表示空值,即该处的值现在为空,undefined 表示为定义。
8、infinity 正无穷 -infinity 负无穷, 1/0 = infinity 1/-0 = -infinity isFinite函数 返回一个布尔值 区分 infinity
9、parseInt('123') 将字符串转化为整数 parseFloat()
10、字符串:string 换行\ 连接+ \b后退 \n换行 \r 回车 `\\` 反斜杠 字符串中的单个字符无法改变和删除,var s = 'hello'; s[0] = 'h' s[3] = 'l'
12、字符串转化base64 function b64Encode(str) {
return btoa(encodeURIComponent(str));
}
function b64Decode(str) {
return decodeURIComponent(atob(str));
}
二、对象object讲解
1、创建方法 var o1 = {}; // var o2 = new Object(); // var o3 = Object.create(null);
2、var o = {
r: 123,
j: 'hello',
p: function (x) {
return 2 * x;
}
}; o.p(1) 类比oc 不难理解,属性可以动态创建,不必在对象声明时就指定。
3、检测对象是否声明 if ('a' in window) {} if (window.a === undefined) {}
4、 字典也可以理解为对象 var o = {
key1: 1,
key2: 2
};
Object.keys(o);
5、with语句 它的作用是操作一个对象的多个属性,提供一些书写的方便,// 例一
with (o) {
p1 = 1;
p2 = 2;
}
// 等同于
o.p1 = 1;
o.p2 = 2;
6、数组的定义 ,arr.length 返回数组的成员数量 length属性是可写的,如果修改为小于当前成员个数的值,则数组的个数将会减少到length的值,如果人为设置length大于当前元素个数,则数组的成员数量会增加到这个值,新增的位置都是空位。再说一遍数组是对象
var arr = [];
arr[0] = 'a';
arr[1] = 'b';
arr[2] = 'c';
arr['name'] = 'guang';
三、函数的使用
1、function命令 声明的就是一个函数
function add(x,y){
return x+y;
}重复声明一个函数会覆盖
2、变量作用范围 在函数外部声明的变量就是全局变量 在函数内部定义的变量外部无法读取,称为局部变量。
3、函数的作用域,它的作用域绑定其声明时所在的作用域。||表示“或运算”,即如果a有值,则返回a。
4、js的闭包
function f1(){
var n = 999;
function f2(){
console.log(n);
}
return f2;
}
闭包的最大用处有两个,一个是可以读取函数内部的变量,另一个就是让这些变量始终保持在内存中。
网友评论