HTML5 混合APP开发学习笔记(五)——JavaScript编程基础

JavaScript编程基础

写这一篇学习笔记还算是相对轻松的吧,终于,终于遇到了熟悉的知识了,毕竟接触了C++、C#和 Python,虽算不上精通,但也是花费精力去研究过,可以自娱自乐的写点脚本程序玩玩
一向秉承着重复性的工作都能交给计算机去完成的理念来学习编程,所以学习起来还是很有趣的。
废话不多说了,下面开始整理学习笔记,这里也就写写在JS中特有的一些知识吧。

JavaScript基础语法

使用JavaScript

  • 在页面中插入代码
<script>
     /*Javascript代码*/
   </script>
  • 使用.js文件

由于JavaScript语言是解释型,理论上它放置在HTML页面中的任一位置都可以运行,但通常放置在 body 标签结束之前。
这个和 CSS3 的使用有些类似,可直接内嵌与HTML文件中,也可单独成一个文件,需要使用时通过链接调用。

语法

  • 数据类型
    HTML5 混合APP开发学习笔记(五)——JavaScript编程基础_第1张图片
    相当于是把数据类型简化了一些吧,没有什么整形浮点型,长整形,双精度等等这么复杂的定义,6个数据类型包罗万象,算是很不错了。

  • 变量定义
    这个就更加 nice ,化繁为简,统统只需要使用: var 关键字就好了
    需要注意的是:

  1. 变量名区分大小写
  2. 一个var 只定义一个变量
  3. 每行只能放一条 JavaScript 语句
  • typeof()函数
    HTML5 混合APP开发学习笔记(五)——JavaScript编程基础_第2张图片
    一共就六种返回结果,与 六种基本 数据类型 还是有那么一丢丢区别的。
    数据类型有: null ,而返回结果有:function

  • 数据类型转换
    HTML5 混合APP开发学习笔记(五)——JavaScript编程基础_第3张图片
    HTML5 混合APP开发学习笔记(五)——JavaScript编程基础_第4张图片

  1. 强制类型转换:
    Boolean()
    Number()
    String()
  2. 转换函数
    toString():字符串
    parseInt():整数
    parseFloat():浮点数

函数

  • 定义
    function functionName(arg0,arg1,…,argN) {…}
  • 调用
    functionName(参数1赋值,参数2赋值,参数3赋值….)
  • 函数重载
    JavaScript不支持函数重载,但是可以利用 arguments.length 检测函数的参数个数,从而实现函数的重载。
function functionName(参数1,参数2,)
         {
     
              	if(arguments.length==1){
     }
				else if(arguments.length==2){
     }
				...
				else{
     }
         }
  • 匿名函数
(function(a, b) {
     
		  alert(a + b);
	  })(2, 3);

即时定义,即时使用,即时销毁释放

  • 返回值
    可以是任何数据类型,使用return语句可以返回函数值并退出函数,没有明确的返回值,或调用了没有值的return语句,那函数的返回值就是undefined

运算符、条件语句、循环语句这些各种语言都大同小异,就不写了

JavaScript对象基础

  • Object对象
    Object 为所有对象的基类,可以通过 function 附加属性和方法
    var myObject1=new Object();
    var myObject2={};
    这两种方式等效
  • 内置对象
  1. Math对象:用来处理数学运算,包含各种函数绝对值、三角函数、随机数等等
  2. Date对象:处理日期和时间,获取时间与设置时间
  3. RegExp对象:正则表达式匹配,之前学习python爬虫时着重看过,就不赘述
  4. Array对象:数组对象,可以嵌套各种类型,动态数组,长度是可变
  5. String对象:字符串对象,可做分片、匹配等操作
  6. Window对象:
    (1) 各种对话框:
    window.alert(警告对话框)、window.confirm(确认对话框)、window.prompt(提示用户输入的对话框)
    使用时可以去掉window,直接使用:alert、confirm、prompt
    (2)间隔
    setInterval(函数名或语句,间隔的毫秒数):间隔一定时间自动执行函数或者其他语句
    clearInterval(间隔id):终止上述自动执行的命令
    (3)延时
    setTimeout(函数名或语句,间隔的毫秒数)
    clearTimeout(延时id):与间隔类似
  • 自定义类或对象
  1. prototype属性
    每个对象都有该属性,可以为对象增加或者覆盖方法
//为String类扩展一个print方法
      String.prototype.print = function() {
     
				alert(this);
                                  };
       var testString = "hello html5";
       testString.print();
  1. 混合的构造器/原型方式实现自定义类
 //Student类的构造函数
   function Student(name, age) {
     
				this.name = name;
				this.age = age;
			}
//为Student类添加一个showStuInfo方法
	Student.prototype.showStuInfo = function(){
     
	   /*代码*/}
  1. this关键字
    当有 new 关键字时,function一定是类的构造器。当Student作为一般函数使用时,this指向window对象,而作为构造器时,this指向Student对象,在构造器中,类的属性前面一定记得加this关键字

JSON 语法规则

  • 数据为 键/值 对。
  • 数据由逗号分隔。
  • 大括号保存对象
  • 方括号保存数组

JSON序列化与反序列化

JSON.parse():反序列化成为JSON对象
JSON. stringify():序列化为字符串
该部分在爬虫的学习过程中常常接触,也还比较熟悉

你可能感兴趣的:(HTML5混合APP,JavaScript)