javascript第二遍基础学习笔记(二)
一、操作符
1、一元操作符:
自加自减(分前置和后置2种):++、--
区别:前置的先自加或自减,后进行计算;而后置的是先进行计算,后自加或自减(在其会产生负面影响时才能体现区别);
var i=;
i++; //++i
console.log(i); // 没有负面影响的情况下:2/2
var a = (++i)+i;
var b = (i++)+i;
console.log(a); //
console.log(b); //
其适合任何类型,非数字类型的会转换成数字类型 Number() ;(基础类型的字面量不能使用,因为其是不可变的)
加、减运算符:+、-
其操作数不是数字类型时,会对操作数进行 Number() 类型转换;
2、位操作符:
正数:原码表示;
负数:补码表示(反码+1);
按位非(~):求反码;
按位与(&):都是1是1,另外的是0;
按位或(|):有1是1,都是0是0;
按位异或(^):相同时1,不相同是0;
左移(<<):空位补0;
右移(>>带符号位):空位补符号位;
右移(>>>不带符号位):空位补0;
3、布尔操作符:
逻辑非(!):返回一个相反的布尔值;
逻辑与(&&):在都是布尔值时返回布尔值,存在不是布尔值时返回不一定是布尔值;
逻辑或(||):在都是布尔值时返回布尔值,存在不是布尔值时返回不一定是布尔值;
(注:逻辑与和逻辑或都是短路操作符)
4、加减乘除:
5、关系操作符(>、>=、<、<=):都是数值,进行数值比较,都是字符串进行字符串比较,另外的转换成数值比较;
6、相等操作符(==、===):相等与全等,全等不进行类型转换;
7、三木运算符( ? : ):;
......
二、语句:
1、if语句:对其的判断条件为非布尔值时进行Boolean()转换成布尔值;
2、do-while:至少执行一次循环体;
3、while:
4、for语句:
5、for in 语句:用来枚举对象属性;
6、lable语句:
7、break和continue语句:
8、with语句:可以修改作用域,将代码的作用域设置到一个对象中; with(... ){ ... }
9、switch语句:
三、变量、作用域和内存:
1、值类型和引用类型:值类型的变量存放具体值,而引用类型的是存放其的引用;
2、函数的参数的传递只能传递值,所以传递引用类型时,传递的是其引用;
3、作用域是定义时候的非调用时候的;
function a(){
var t="aa";
function b(){
console.log(t);
}
return b;
}
var t="ww";
var b=a();
b(); //aa 并非是ww
4、延长作用域链:try-catch的catch块和with;
5、js没有块级作用域;
四、数组(Array):
javascript的一个数组可以存储任何类型的值(不同于另外语言的数组);数值的大小可以动态调整;
检测数组:可以用instanceof检测,但在多个框架里面,由于每个框架里的Array构造函数不同,其检测会有问题;但还是可以用ECMAScript5 提供了一个方法可以检测或使用Object原型的toString()方法检测;
//ECMAScript5里提供个方法
Array.isArray(xx);
//Object原型的toString()
Object.toString.call(xx);
转换方法:toLocaleString()、toString()、ValueOf()和join();
数组的方法:
push():尾端添加
pop():尾端删除
shift():头部删除
unshift():头部添加
reverse():反转数组顺序
sort():不带参数,一字符串比较升序(小到大);接受一个比较函数,函数带2个参数,返回小于零的,第一个参数在前
concat():追加拼接数组
slice():截取子数组,2个参数,第二个可选,可以使负数
splice():可以删除、插入、替换;前2个参数表示起始位置、删除数目,后面的参数是要插入的
indexOf()和lastIndexOf():
ECMAScript5中的方法:
every():
filter():
forEach():
map():
some():
reduce():
reduceRight():
五、Date类型:
其使用UTC 1970年1月1日午夜(零时)开始进过的毫秒数来保存日期。
javascript第二遍基础学习笔记(二)的更多相关文章
- javascript第二遍基础学习笔记(一)
1.兼容xhtml方法: <script> //<![CDATA[ ... ... //]]> </script> 2.文档模式: IE5.5引入,最初包含2种:混 ...
- Java基础学习笔记二十一 多线程
多线程介绍 学习多线程之前,我们先要了解几个关于多线程有关的概念.进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 线 ...
- Java基础学习笔记二十六 JDBC
什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据库,J ...
- Java基础学习笔记二十八 管家婆综合项目
本项目为JAVA基础综合项目,主要包括: 熟练View层.Service层.Dao层之间的方法相互调用操作.熟练dbutils操作数据库表完成增删改查. 项目功能分析 查询账务 多条件组合查询账务 添 ...
- Java基础学习笔记二十二 网络编程
络通信协议 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样.在计算机网络中,这些连接和通信的规则 ...
- Java基础学习笔记二十五 MySQL
MySQL 在dos中操作mysql 连接mysql命令: mysql -uroot -p密码 ,连接OK,会出现mysql> 对数据库的操作 创建一个库 create database 库名 ...
- 使用JSP实现输出(web基础学习笔记二)
Jsp:Java Server Page 服务器端的Java页面,动态网页技术 jsp注释 显式注释:这种注释客户端是允许看见的;<!--html注释--> 隐式注释:这种注释客户端是看不 ...
- JavaScript权威设计--JavaScript词法结构(简要学习笔记二)
1.字符集 JavaScript是用Unicode字符集编写的 2.区分大小写 html不区分大小写,xhtml区分大小写 如:html中onclick可以写成Onclick 但是js中必须写成onc ...
- Java基础学习笔记二 Java基础语法
注释 注释用来解释和说明程序的文字,注释是不会被执行的. 单行注释 //这是一条单行注释 public int i; 多行注释 /* 这是 * 一段注释, * 它跨越了多个行 */ public vo ...
随机推荐
- linux 打补丁 2原理
1.创建目录 demo cd demo 有bug文件a.txt: 当前目录为demo mkdir -p old/a/p vi old/a/p/foo.txt old_line_1 old_line_2 ...
- MySQL 权限?
一.权限表 mysql数据库中的3个权限表:user .db. host 权限表的存取过程是: 1)先从user表中的host. user. password这3个字段中判断连接的IP.用户名.密码是 ...
- js 字符及字符串
1. 判断是否为null或者空字符 var == null var == undefined var == '' 2. 字符串及其分割 var arr = new Array(); //定义一数组 a ...
- 深入理解计算机系统第二版习题解答CSAPP 2.6
使用打印字节的方式可以知道十进制数12345的十六进制为0x00003039,十进制浮点数12345.0的十六进制为0x4640E400. 转换为二进制为 /* 0 0 0 0 3 0 3 9 *** ...
- Linux下如何在打开终端的时候自动配置相关环境
参考博客“Linux启动文件.设置环境变量的位置”(http://www.2cto.com/os/201305/208251.html) 在不可取的root权限的时候可以选择编辑~/.bashrc文件 ...
- SQL Server内连接、外连接、交叉连接
前言 在数据库查询中,我们常常会用到的表连接查询,而我自己在工作中也是时常用这些表连接查询.而就在刚刚我却还没有搞清楚数据库表连接到底有哪几种, 这几种表连接查询方式又有什么区别,实属惭愧!借以此文以 ...
- OAuth2.0授权和SSO授权
一. OAuth2.0授权和SSO授 1. OAuth2.0 --> 网页 --> 当前程序内授权 --> 输入账号密码 --> (自己需要获取到令牌, 自己处理逻辑) 授权成 ...
- 2014年12月20日00:33:14-遮罩+进度条-extjs form.isvalid
1.Extjs : 遮罩+进度条 2.Extjs: extjs form.isvalid http://stackoverflow.com/questions/19354433/extjs-form- ...
- 对C++ Primer的10.3.9单词转换的思考
这篇代码有几个知识点可以复习一下,而且小白学到了新知识o(╯□╰)o #include <iostream> #include <string> #include <ma ...
- c# 与 winform 界面开发
在 windows 下使用 vs2010 开发,未深入研究. c# 与 .net 开发,一堆又一堆的新名词,头晕目眩,比如 CLR / apartments / STA / MTA / COM 吐槽无 ...