1. JavaScript基础

1.1 语法

  • 严格区分大小写

  • 标识符,第一个字符可以是 $,建议使用小驼峰法,

  • 保留字、关键字、true、false、null不能作为标识符

  • JavaScript是用Unicode字符集编写的

1.2 数据类型

  • 判断数据类型: typeof xxx

  • 定义变量: var xxx = yyy; 函数内部不加var可以定义全局变量 可以随意改变类型

    • var a,b,c; 定义多个变量

  • Number 类型:

    • 包括整数和小数

    • var n=0x111;//十六进制 var n=1.2e2;//科学计数法 var n=1.0 //n=1,因为JavaScript会尽量把浮点数转换为整数,因为浮点数占的内存是整数的两倍

    • alert(Number.MAX_VALUE) 支持最大数,MIN_VALUE最小

    • alert(Numver.Infinity) 无穷大

    • NaN(Not A Number)非法数字,不是数字,可以通过 isNaN(xx) 判断,返回Boolean值 alert('哈' - 1) => NaN

  • String 类型: 'xxx' " t'ttt "

    • \xnn 以十六进制代码nn表示一个字符,如:\x41表示A

    • \unnnn 以十六进制代码nnnn表示一个Unicode字符

    • 除了 null undefined 外的所有值都有toString()方法,可以把相应的值转换为字符串形式

  • Boolean 类型:

    • 通过Boolean(xxx) 转换,== 判断不出

      • true:非零数值,非空字符串,非null对象

      • false:0 空字符串,Null,Undefined

    • 在流程控制语句(如:if),会自动转换为Boolean值

  • Undefined 类型:只有一个值undefined(开头字母小写),表示变量未初始化 var s;alert(s) //undefined

    • 主要用于逻辑判断

    • alert(typeof xx(未定义变量) ) //也会是undefined

  • Null类型:只有一个值null,表示空对象指针 alert(typeof null) //Object

    • 如果定义的变量准备在将来用于保存对象,那么最好把他设置为null,这样就可以判断是否为null来判断是否保存了一个对象的引用 if (xx != null){ doSomething(xx); }

      • undefined由null衍生出来,undefined == nulll

  • Object 类型:

1.3 数据类型转换

  • toString(): var s=123; s.toString() // '123' 当以字符串形式输出某个对象时,就会自动调用对象内部的toStrong()方法 null和undefined没有toString()方法。

    • 'str' + xxx => 'str'

    • var n=9; n.toString(2);//'1001' 整数变量.toString(进制),可以进行进制转换

    • String(obj)将任何类型转换为字符串,包括null和undefined

  • Number(): var s='123'; alert(Number(s)) // 123 var s='haha33'; alert(s)// NaN

    • 如果字符串是一个空串或全是空格的字符串,则转换为0

    • null => 0 undefined => NaN true => 1

  • parseInt()/parseFloat():

    • 从第一位有效数字开始,直到遇到无效数字,如果第一位不是有效数字,返回NaN

    • Number()函数无论字符串是否包含有效整数都会返回NaN,利用parseInt()/parseFloat()可以提取字符串中的有效整数 parseInt('123aaa') //123

    • parseInt('100',2) //4 当提供第二个参数时,代表字符串是几进制的,返回十进制

1.4 语句

  //【switch语句】
//可以使用任何数据类型
switch(s){
   case 'a':
   case 'b': //合并了两种情形
       alert("a or b");
       break;
   case 'c':
       alert(c);
       break;
   default:
       alert(other)
}



//【for-in语句】
//迭代出的是:数组、字符串是位置、对象是key
for(var x in 'hello'){
   console.log('hello'[x]);
}



//【label语句】
//在代码中添加标签,可以由break 或 continue引用
xxx:
for(var i=0; i<10; i++){
   if(i==8){
       break xxx;
  }
}


//【with语句】
//作用是将代码的作用域设置到一个特定的对象中
var location = {
   name = 'bin'
};
var name = 'out';
with(location){
   alert(name);//bin
}
alert(name);//out

1.5 操作符

  • 布尔操作符:

    • 逻辑非:

      • ! 表示,可以应用于 ECMAScript中的任何值,无论这个值是什么类型,这个操作符都会返回一个布尔值。逻辑非首先将它的操作符转换成一个布尔值,然后对其求反。

        • ! Object => false

        • ! "str" => false

        • ! "" => true

        • ! 0 => true

        • ! num => false (包括Infinity)

        • ! null => true

        • ! NaN => true

        • ! undefined => true

      • 如果连续使用两次 ! ,则会模拟 Boolean() 转换函数的行为,! 首先将操作数转换成布尔值再取反,然后!再取反一次,就相当于把操作数转换成了其对应的布尔值。

    • 逻辑与:

      • &&

      • 如果第一个操作数转换成布尔值是false,就返回第一个操作数

      • 如果第一个操作数转换成布尔值是true,就返回第二个操作数

      • false && alert(1) => false

      • true && alert(1) => alert(1)

    • 逻辑或:

      • ||

      • 与逻辑与相反

      • false || alert(1) => alert(1)

      • true || alert(1) => true

      •  

1. JavaScript学习笔记——JS基础的更多相关文章

  1. JavaScript学习笔记——JS中的变量复制、参数传递和作用域链

    今天在看书的过程中,又发现了自己目前对Javascript存在的一个知识模糊点:JS的作用域链,所以就通过查资料看书对作用域链相关的内容进行了学习.今天学习笔记主要有这样几个关键字:变量.参数传递.执 ...

  2. JavaScript学习笔记:基础知识点总结

    基础概念 JavaScript(以下简称Js)中数据类型:Number 字符串 布尔值 数组 对象(Js的对象是一组由键值对组成的无序集合) Js中基础概念:变量(概念和Java中变量概念类似 指示某 ...

  3. JAVAscript学习笔记 js句柄监听事件 第四节 (原创) 参考js使用表

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. JavaScript学习笔记(基础部分)

    一.JavaScript简介: 概念:JavaScript是一种解释性的.跨平台的.基于对象的脚本语言,一般用于客户端来给HTML页面增加动态的功能. 组成: 1.ECMAScript,描述了该语言的 ...

  5. JavaScript学习笔记——对象基础

    javascript对象基础 一.名词解释: 1.基于对象 一切皆对象,以对象的概念来编程. 2.面向对象编程(oop Object oriented programming) A.对象 就是人们要研 ...

  6. 廖雪峰JavaScript学习笔记(基础及数据类型、变量)

    先睹为快 alert('我要学JavaScript!'); Run: 基本语法: 1.每个语句以;结束,不强制 2.语句块用{...} 3.//单行注释,/*...*/ 多行注释 数据类型: 1.不区 ...

  7. JavaScript学习笔记1_基础与常识

    1.六种数据类型 5种基础的:Undefined,Null,Boolean,Number,String(其中Undefined派生自Null) 1种复杂的:Object(本质是一组无序键值对) 2.字 ...

  8. javascript 学习笔记 -- js获取本地文件信息

    JavaScript是跑在浏览器中,所以对于JavaScript读取本地文件不想c++ 和 java那样easy.网上有很多关于读取本地文件的方法,许多是用ActiveXObject控件.Active ...

  9. JavaScript学习笔记-Js操控HTML5 <progress> 标签

    Js操控----HTML5 <progress> 标签 简单模拟下下载进度跑条 <h4>加载进度</h4> <input type="button& ...

随机推荐

  1. 空值和null区别

    空值代表杯子是真空的,NULL代表杯子中装满了空气

  2. Use formatter to format your JAVA code

    In order to make the codes looks unified and make it easy to understand, it's better to use the same ...

  3. 电脑破解wifi密码(至少连过1次的才可以)

    电脑破解wifi密码(至少连过1次的才可以) 连过的wifi密码忘记了怎么办? 只要你电脑连过的都能破解. cmd输入以下内容查看电脑连接过的wifi名字. netsh wlan show profi ...

  4. 彻底修改Eclipse的默认编码

    引用各位前辈经验得到彻底修改eclipse默认编码的方法. 单在eclipse里设置编码方式非常复杂且容易遗漏,全部修改后,有些代码生成模板内的${encode}变量仍为原编码方案,经过查阅许多资料得 ...

  5. python CSV 文件的读写

    1.CSV文件 import csv with open(r"E:\code\0_DataSet\tianchi_2015_mobile_recommand\fresh_comp_offli ...

  6. 02 Transcribing DNA into RNA

    Problem An RNA string is a string formed from the alphabet containing 'A', 'C', 'G', and 'U'. Given ...

  7. yii\bootstrap

    yii\bootstrap\ButtonDropdown <?php echo yii\bootstrap\ButtonDropdown::widget([ 'label' => 'Act ...

  8. 【转载】rabbitmq的发布确认和事务

    地址:https://my.oschina.net/lzhaoqiang/blog/670749 摘要: 介绍confirm的工作机制.使用spring-amqp介绍事务以及发布确认的使用方式.因为事 ...

  9. Exception (1) Understanding Exception Handling

    When an exception is thrown, it cannot be ignored--there must be some kind of notification or termin ...

  10. Android新增的注解

    环境 使用Android注解前需要导入相关的包 compile 'com.android.support:support-annotations:latest.integration' 注意:如果我们 ...