Java Script

Java Script

JavaScript是一种脚本语言,虽然名字叫Java,但是和Java没有一丝丝关系。是Netscape公司为了借用java的名气当时就使用了这个名字。 
JavaScript丰富了互联网功能,在浏览器中扩展了javaScript支持,使得互联网可以有更多的动画,和与用户的互动。 
js的特点:

1.是一种解释型的语言。

 - 程序不需要编译
 - 只有运行时才翻译成机器语言
 - 每执行一次就要翻译一次。效率比较低

2.是一种弱类型的语言 
弱类型语言的特点:其变量在使用之前无须声明,由解释器在运行时检查其数据类型。


JavaScript入门

JS的运行

1.直接使用javascript:前缀进行执行js的代码 
eg:

<a href="javascript:alert('运行js!');"></a>

2.绑定一个事件,在事件被触发的时候运行js代码 
eg:

<button onclick="alert('运行js!')"><button/>

这句代码就是当按钮被按下的时候触发这个弹窗。 
3.在body中建立一个script元素,在元素中书写js代码

 <script type="text/javascript">    
  alert("运行js!");
 </script>

注意:一般script元素写在body的尾部。 
4.引入外部js文件

<script type="text/javascript" src="js文件所在的url路径"></script>

和引用css文件相类似。


JS的基础语法

1.注释

注释的方式和java类似

    // 这里是单行注释
     /* 这里也是单行注释 */ 
     /*    这里是    
         多行注释 
     */ 

2.关键字,标识符

标识符的命名规范和java基本是一致的。 
关键字也差不多。

3.直接量,变量

直接量:就是123,true,false,“嘻嘻嘻嘻” 
变量: 
注意:js的变量类型都取为var

var x = 1;//变量x的值是数字直接量1

无论变量什么类型,在申明的时候都用var。

4.一些简单语句

申明变量语句和java一样。 
if语句:

if (num === 1){//if判断语句    
        alert(1);
     }

可以看出基本和java是类似的。

5.数据类型

这里写图片描述

5.1基本数据类型

  • number类型:包含整数和浮点数(即小数)。
  • boolean类型:只有true和false两个值。
  • string类型:字符串值必须用引号括起来,引号可以是单引号,也可以是双引号。
  • undefined类型:专门用来确定一个已经创建但是没有初始值的变量。
  • null类型:用于表明某个变量值为空。

    其中一些注意点: 
    1.在js里面,页面加载的过程中,会先将基本数据和引用类型加载到内存,这个时候不会赋值,执行到初始化代码才会赋值。 
    2.Boolean 对象中, 0,null,”” 都是默认false。其他都是true

5.2引用数据类型

  • 原生对象: 
    所谓原生对象是由JavaScript所提供的、独立于宿主环境(即浏览器)的对象,简单点说,就是在ECMA-262标准中定义的对象。它包 括:Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、 SyntaxError、TypeError、URIError、Arguments、JSON。
  • 内置对象: 
    内置类对象JavaScript中提供的、独立于宿主环境对象,这些对象在JavaScript程序执行时就已经存在。内置对象实际上也是原生对象 的一种,但是与原生对象不同的是,内置对象不需要显式的初始化,因为它已经初始化了。ECMA-262中只定义了两个内置对象:Global和 Math。
  • 宿主对象 
    宿主对象指与宿主环境即浏览器有关的对象。所有的BOM和DOM对象都是宿主对象。
5.2.1原生对象
数组:

1.数组在创建的时候传递一个参数表示空间大小 
2.传递多个参数表示初始化数据 js里面按照下标进行排列,对数据类型没有限制 
3.两个数组的相加,是数据的组合,是字符串类型 
4.arr.concat(arr1) 将两个数组转换成一个数组,返回的是一个数组对象

时间:

Date():

var da = Date();

Date()将Data看成一个普通的函数在调用

console.info(da);
var da1 = new Date();  //UTC 1970-1-1零点之间的毫秒数
console.info(da1);

var n = 365*24*60*60*1000;
var da2 = new Date(n);
console.info(da2);
console.info(da2.toLocaleString());
console.info(da2.toDateString());
console.info(da2.toLocaleDateString())
console.info(da2.toLocaleTimeString())
console.info(da2.toUTCString())

/*操作年月日*/
var year = da1.getFullYear();
console.info(year);
/*月份从0开始计算*/
var month = da1.getMonth();
console.info(month);
var date = da1.getDate();
console.info(date);

/*获取到每一周的周几*/
var day = da1.getDay();
console.info(day);
        console.info("时"+da1.getHours()+"分"+da1.getMinutes()+"秒"+da1.getSeconds());
正则表达式:

RegExp正则表达式对象。 
获取一个正则对象:

var reg = /^\d{6,}$/;

正则表达式,正则对象提供了一个test方法用于判断验证结果,返回true或者false。

console.info(reg.test(123459));
JSON:

在js里面json表示一个对象,这个对象是非常小的一个。用于存储数据,轻量化对象

var jso = {"username":"xiaowang","pwd":123};
console.info(jso);
console.info(jso.username);

5.2.2内置对象

内置对象 Global ,Math

Global无法直接访问,提供了一些方法和属性。 
—有点类似java的静态方法 
将所有全局的方法收集在一个对象中。直接访问对象的属性和方法。

 var url="http://www.baidu.com?视频.mp4";
console.info(url);
/*中文进行转码,使用的时候在进行解码*/
var newUrl = encodeURI(url);

解码:

var encodeUrl = decodeURI(newUrl);
console.info(encodeUrl);

eval()可以将字符串解析成js代码执行:

     var y = "2+3";
    console.info(y);
    console.info(eval(y));

第一句console代码在控制台的结果是2+3 
而第二句代码的结果是5.效果就是这样。

Math,可以直接使用Math内置对象:
console.info(Math.random());
console.info(Math.floor(12.5));

第一个取随机数,java中也有 
第二个向下去整,12.

6.数据类型转换

6.1自动转型

任何数据类型与String相加都是字符串 
自动转换数据类型,除了加以外,数据操作自动转换。 
即除了加法外,其他的减乘除等都会转换为number型进行操作。 
如果无法转换,那么结果就是NaN

NaN:表示非数字

各种类型自动转型的结果: 
这里写图片描述

6.2强制转型

1.转换为字符串。

使用toString()函数。

toString()方法是来自于原生对象 原生对象Object,因所有对象都继承自Object,所以所有对象都有toString()方法。另外,由于boolean、number和string这三 个基本类型可看作伪对象,可以看成引用类型 
Boolean,Number和String。 
注意:null,undefined没有toString()

使用String()函数

String()可以把任何值转换成字符串,这种强制转换和toString()的唯一不同之处在于,对于null和undefined值也能强制转换而不会报错。

2.转换为数字。

java中是Integer.parseInt() 
js中则是没有前面的一部分。 
parseInt()函数 ,parseFloat()函数

var num = parseInt("12345px");//返回12345 
var num1 = parseInt("0xA");   //10 
var num2 = parseInt("56.9");  //56 
var num3 = parseInt("red");   //NaN 
var num4 = parseInt("10", 8); //8
----------------------------------
var fNum1 = parseFloat("12345red"); //返回 12345 
var fNum3 = parseFloat("11.2"); //返回 11.2 
var fNum5 = parseFloat("0102"); //返回 102 
var fNum1 = parseFloat("red");  //返回 NaN

注意:parseInt() 方法首先查看位置 0 处的字符,判断它是否是个有效数字;如果不是,该方法将返回 NaN,不再继续执行其他操作。但如果该字符是有效数 字,该方法将查看位置 1 处的字符,进行同样的测试。这一过程将持续到发现非有效数字的字符为止,此时 parseInt() 将把该字符之前的字符串转换 成数字。

Number()函数

Number() 函数的强制类型转换与 parseInt() 和 parseFloat() 方法的处理方式相似,只是它转换的是整个值,而不是部分值。 还记得吗,parseInt() 和 parseFloat() 方法只转换第一个无效字符之前的字符串,因此 “1.2.3” 将分别被转换为 “1” 和 “1.2”。 用 Number() 进行强制类型转换,”1.2.3” 将返回 NaN,因为整个字符串值不能转换成数字。如果字符串值能被完整地转换,Number() 将判断是调用 parseInt() 方法还是 parseFloat() 方法。

Number(false);           //0 
Number(true);            //1 
Number(undefined);       //0 
Number(null);            //0 
Number("1.2");           //1.2 
Number("12");            //12 
Number("1.2.3");         //NaN 
Number(new object());    //NaN 
Number(false);           //0

3.转换为boolean 
当要转换的值是至少有一个字符的字符串、非 0 数字或对象时,Boolean() 函数将返回 true。如果该值是空字符串、数字 0、undefined 或 null,它将 返回 false。

var b1 = Boolean("");       //false - 空字符串 
var b2 = Boolean("hello");      //true - 非空字符串 
var b3 = Boolean(50);       //true - 非零数字 
var b4 = Boolean(null);     //false - null 
var b5 = Boolean(0);        //false - 零 
var b6 = Boolean(new object()); //true - 对象
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值