一、操作符

  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第二遍基础学习笔记(二)的更多相关文章

  1. javascript第二遍基础学习笔记(一)

    1.兼容xhtml方法: <script> //<![CDATA[ ... ... //]]> </script> 2.文档模式: IE5.5引入,最初包含2种:混 ...

  2. Java基础学习笔记二十一 多线程

    多线程介绍 学习多线程之前,我们先要了解几个关于多线程有关的概念.进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 线 ...

  3. Java基础学习笔记二十六 JDBC

    什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据库,J ...

  4. Java基础学习笔记二十八 管家婆综合项目

    本项目为JAVA基础综合项目,主要包括: 熟练View层.Service层.Dao层之间的方法相互调用操作.熟练dbutils操作数据库表完成增删改查. 项目功能分析 查询账务 多条件组合查询账务 添 ...

  5. Java基础学习笔记二十二 网络编程

    络通信协议 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样.在计算机网络中,这些连接和通信的规则 ...

  6. Java基础学习笔记二十五 MySQL

    MySQL 在dos中操作mysql 连接mysql命令: mysql -uroot -p密码 ,连接OK,会出现mysql> 对数据库的操作 创建一个库 create database 库名 ...

  7. 使用JSP实现输出(web基础学习笔记二)

    Jsp:Java Server Page 服务器端的Java页面,动态网页技术 jsp注释 显式注释:这种注释客户端是允许看见的;<!--html注释--> 隐式注释:这种注释客户端是看不 ...

  8. JavaScript权威设计--JavaScript词法结构(简要学习笔记二)

    1.字符集 JavaScript是用Unicode字符集编写的 2.区分大小写 html不区分大小写,xhtml区分大小写 如:html中onclick可以写成Onclick 但是js中必须写成onc ...

  9. Java基础学习笔记二 Java基础语法

    注释 注释用来解释和说明程序的文字,注释是不会被执行的. 单行注释 //这是一条单行注释 public int i; 多行注释 /* 这是 * 一段注释, * 它跨越了多个行 */ public vo ...

随机推荐

  1. java11 Guava:谷歌开发的集合库

    Guava:谷歌开发的集合库,通过build path->Add External JARs 把guava.jar包加进去. 版本控制工具:.CVS .SVN .git 所以需要下载git客户端 ...

  2. Debugging to Understand Finalizer--reference

    This post is covering one of the Java built-in concepts called Finalizer. This concept is actually b ...

  3. cocoapods使用指南

    什么是cocoapods cocoapods是库管理工具. cocoapods的用途 解决库之间的依赖关系.如前文所述: 一个开源的项目可能是另一个项目的基础, A依赖B, B依赖C和D, D又依赖E ...

  4. android 换肤模式总结

    由于Android的设置中并没有夜间模式的选项,对于喜欢睡前玩手机的用户,只能简单的调节手机屏幕亮度来改善体验.目前越来越多的应用开始把夜间模式加到自家应用中,没准不久google也会把这项功能添加到 ...

  5. 解决DataTable中的DataColumn类型默认为int类型时, 导致不能修改其列值为其他类型的解决办法

    问题起因: 扔给数据库一条select * from [表名] , 得到一个DataTable, 发现有一列status状态的DataColumn的类型是int,然后我想换成字典表里的文字描述,然后就 ...

  6. linux 常用查找命令 小技巧

    wc -l `find . -name "*.css"`|tail -n1 指定目录下 在指定后缀文件 查找关键字 find ./ -name "*" -exe ...

  7. 简明网络I/O模型---同步异步阻塞非阻塞之惑

    转自:http://www.jianshu.com/p/55eb83d60ab1 网络I/O模型 人多了,就会有问题.web刚出现的时候,光顾的人很少.近年来网络应用规模逐渐扩大,应用的架构也需要随之 ...

  8. .Net程序员快速学习安卓开发-布局和点击事件的写法

    关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 本系列课程 致力于老手程序员可以快速入门学习安卓开发.系统全面的从一个.Net程序员的角度一步步学习总结安 ...

  9. Magento网站如何添加一个可配置产品

    有的产品,比如服装,同一件衣服有S.M.L.XL.XXL等尺码供客户选择,或者有多种颜色可以供客户选择,Magento中管这种有选项供客户选择的产品叫做可配置产品 (Configurable Prod ...

  10. 将分页功能从JSP页面中独立出来

    附带视频链接:http://www.tudou.com/programs/view/leaQ-YFl7W8/?bid=03&pid=2&resourceId=0_03_05_02