JavaScript学习笔记之基础篇一

1、定义变量方式:
隐式定义  如     a = 10;
显式定义  如 var b = 20;

 

2、强制类型转换
toString();     将布尔值、数值灯转换成字符串
parseInt();     将字符串、布尔值等转换成整数
parseFloat();   将字符串、布尔值等转换成浮点数


3、变量

<script type="text/javascript">
    //定义全局变量test
    var test = "全局变量"; 
    //定义函数checkscope
    function checkscope(){
 //定义局部变量
 var test = "局部变量";
 //输出局部变量
 document.write(test);
 }
 checkscope();
</script>

结果:局部变量

4、JavaScript 无块范围

<script type="text/javascript">
  //定义变量j=8
  var j = 8;
  //for循环 定义i=0
  for(var i = 0;i < 10 ; i++){
   //循环打印0-9
   //因为JavaScript 没有代码块范围
   //所以 i 的作用范围是整个函数内,而不是循环体内
   document.writeln(i);
   }
  //即使出了循环体,i的值依然存在
  document.writeln("<br/> j=" + j + "   i=" + i);
</script>

结果:
0 1 2 3 4 5 6 7 8 9
j=8 i=10

<script type="text/javascript">
 //定义全局变量
 var temp="全局变量";
 function test(){
  //因为全局变量被局部变量覆盖
  //而此时 temp 局部变量尚未赋值,故此处输出undefined
  document.writeln(temp +"<br/>")
   //定义局部变量 temp ,其作用范围为整个函数内
  var temp = "局部变量";
         //再次输出 temp 的值
  document.writeln(temp +"<br/>");
  }
 test();
 document.writeln(temp +"<br/>");
</script>

结果:
undefined
局部变量
全局变量


5、数据类型
JavaScript有5种数据类型
数值类型: 包含整数和浮点数。
布尔类型: 只有true和false两种值。
字符串类型: 字符串变量必须以引号括起来,引号可以使单引号,也可以使双引号。
undefined类型: 专门用来确定一个已经创建但是没有初始化值的变量。
null:  用于表明某个变量的值为空。

数值类型

①科学计数法

<script type="text/javascript">
  //显式声明变量a、b
  var a , b ;
  //科学计数法
  a = 5E2;
 b = 1.23e-3;
  document.write(a + "<br/>" + b);
</script>

结果:
500
0.00123

②数值直接量不要以0开始。因为JavaScript不仅支持十进制数,还支持其他进制的数。八进制和十六进制的数都是以0开始。

<script type="text/javascript">
  //使用隐式声明定义变量b
  b = 3.12e1;
  //使用隐式声明定义变量c
  c = 45.0;
  //使用隐式声明定义变量d
  d = .34e4;
  //使用隐式声明定义变量e
  e = .24e-2;
  document.write(b + '----' + c + '----' + d + '----' + e);
</script>

结果:
31.2----45----3400----0.0024

③JavaScript中的算术运算允许除数为0(除数和被除数也可同时为0,得到结果为NaN),正数除0结果是Infinity(无穷大),负数除0的结果就是-Infinity。


④isNaN()是JavaScript的内嵌函数,用于判断某个数值型变量是否为"非数"。(NaN 是 Not a Number)

 布尔类型

<script type="text/javascript">
 //如果浏览器支持Cookie
 //navigator.cookieEnabled 返回布尔类型值
 if(navigator.cookieEnabled){
 alert("浏览器允许使用Cookie");
 }else{
 //如果浏览器不支持Cookie
 alert("浏览器禁用Cookie");
 }
 </script>


 字符串类型
  String()    类似于面向对象语言中的构造器,使用该方法可以构建一个字符串。
  charAt()    获取字符串特定索引处的字符。
  charCodeAt()   返回字符串中特定索引处的字符所对应的Unicode值。
  length()      属性,直接返回字符串长度。JavaScript中的中文字符算一个字符。
  toUpperCase()  将字符串所有字母转换成大写字母。
  toLowerCase()  将字符串所有字母转换成小写字母。
  fromCharCode() 静态方法,直接通过String 类调用该方法,将系列 Unicode 值转换成字符串。
  indexOf()      返回字符串中特定字符串第一次出现的位置。
  lastIndexOf()  返回字符串中特定字符串最后一次出现的位置。
  substring    返回字符串某个子串。
  slice()    返回字符串的某个子串,功能比substring更强大,支持负数参数。
  match()   使用正则表达式搜索目标子字符串。
  search()   使用正则表达式搜索目标子字符串。
  concat()      用于将多个字符串拼接成一个字符串。
  split()        将某个字符串分割成多个字符串,可以指定分隔符。
  replace()   将字符串中某个子串以特定字符串替代。

<script type="text/javascript">
 var a = "hellojavascript";
 //搜索llo子串出现的位置
 var b =  a.indexOf("llo");
 //跳过左边3个字符,开始搜索llo子串
 var c = a.indexOf("llo" , 3);
 //搜索a子串最后一次出现的位置
 var d = a.lastIndexOf("a");
 document.write(b + "<br/>" + c  + "<br/>" + d);
 </script>

 结果:
 2
 -1
 8
 
 undefined 和 nul

<script type="text/javascript">
 //声明 x  , y
 var x , y = null;
 //判断x的值是否为空
 if(x === undefined){
  document.write("声明变量后默认值为 undefined <br/>");
 }
 if(x === null){
  document.write("声明变量后默认值为 null <br/>");
 }
 //判断x (其值为undefined) 是否与 y (其值为null) 相等
 if(x == y){
  document.write("x (undefined) == y (null) <br/>");
 }
 //测试一个并不存在的属性
 if(String.xyz === undefined){
  document.write("不存在的属性值默认为undefined");
 }
</script>

l结果:
 声明变量后默认值为 undefined
 x (undefined) == y (null)
 不存在的属性值默认为undefined
 
 实际上,很多时候 undefined 和 null 本身就相等,即 null == undefined 将返回true
 如果我们要精确区分 undefined 和 null ,应该考虑使用精确等于符(===)。

原文地址:https://www.cnblogs.com/yuzhoulangzi/p/JavaScript.html