Javascript中级语法快速入手


Posted in Javascript onJuly 30, 2016

1. 谈谈Javascript的对象

Javascript作为一种弱语言类型的语言,同时也是一种动态类型的语言。在使用Javascript的过程中,也常常需要用到Javascript的内置对象以及自定义的对象。

1.1 如何创建对象
Javascript是一种弱语言类型的语言,不必像Java、C#等高级语言那样必须通过构造函数的方法来创建对象,在Javascript中,主要有两种创建对象的方法,一种是直接通过new关键字定义,一种是通过函数来定义。如下:

//第一种方式,直接通过new创建对象;
  var demo = new Object();
  demo.name = "Anderson";
  demo.sex = "male";
  demo.age = 23;

  //第二种格式,直接实例化,基本上和Json语法是一致的,一般作为第一种方式的替代语法。
  var demo = {name:"Anderson",sex:"male",age:25};

  //第三种格式,通过构造器来创建对象
  function Demo(name,sex,age){
    this.name = name;
    this.sex = sex;
    this.age = age;
  }
  var demo = new Demo("Andeson","male",25);

1.2 如何修改对象

Javascript和高级语言的对象语法是不一样的,总的来说,其限制比较少,当创建完对象后,可以对对象的属性、方法等进行动态的修改,比如添加一个新的属性,添加一个新的方法等。

var demo = {Name:"Anderson"};
  demo.Sex = "male";

1.3 理解Javascript中的数字对象

在Javascript中,所有的数字都是64位,所有数字均由浮点类型组成。Javascript中采用的是IEEE754标准定义的64位浮点数格式表示数字,它能表示最大值为±1.7976931348623157 x 10308,最小值为±5 x 10 -324。

var demo1 = 7;    //十进制表示法
  var demo2 = 07;   //八进制表示法
  var demo3 = 0x12;  //十六进制表示法

  var demo4 = 12e12;  //科学计数法表示法
  var demo5 = 12e-12; //科学计数法表示法

  var demo7 = 128;
  var demo8 = demo7.toString(16); //转化为十六进制
  var demo9 = demo7.toString(8);  //转化为八进制
  var demo10= demo7.toString(2);  //转化为二进制

  var demo11= Infinity;   //无穷大表示法
  var demo12= isNaN(100);  //非数字值表示法

  var demo13= typeof(12);       //数字的类型为 Number
  var demo14= typeof(new Number(12)); //Number的类型为Object
  var demo15 = (demo13 == demo14);   //两者相等
  var demo16 = (demo13=== demo14);   //两者不相等

1.4 理解Javascript中的字符串对象

var str = "Hello,Anderson";

  var demo1 = str[0];        //通过索引,获取字符串中的字符,超出最大值则返回undefined
  var demo2 = str.indexOf("H");   //获取目标字符串在源字符串中的位置,找不到则返回 -1
  var demo3 = str.length;      //获取字符串的长度
  var demo4 = str.lastIndexOf("H"); //获取目标字符串在源字符串中的位置,从串尾开始找,找不到返回-1
  var demo5 = str.match("Anderson");//从源串中匹配目标串,若有,则返回目标串,否则,返回返回 null
  var demo8 = str.replace("A","d"); //将源串中的目标串替换为替换串
  var demo9 = str.toUpperCase();  //转换为大写
  var demo10= str.toLowerCase();  //转换为小写
  var demo11= str.split("d");    //转化为数组

  var demo12= "\'";    //表示单引号
  var demo13= "\"";    //表示双引号
  var demo14= "\\";    //表示斜杠
  var demo15= "\n";    //表示换行
  var demo16= "\r";    //表示回车
  var demo17= "\t";    //表示制表符
  var demo18= "\b";    //表示空格
  var demo19= "\f";    //表示换页

1.5 理解Javascript中的日期对象

var demo1 = new Date();      //创建对象,当前日期
  var demo2 = new Date(22e9);    //创建对象,毫秒数
  var demo3 = new Date("2016-06-04");//创建对象,日期字符串
  var demo4 = new Date(2016,5,12,12,12,12); //创建对象,年月日时分秒

  var demo5 = (demo1 > demo2);    //比较日期

1.6 理解Javascript中的数组对象

var demo1 = new Array(1,2,3,4);    //创建数组
  var demo2 = [1,3,4,5];        //创建数组
  var demo3 = demo1.concat(demo2);   //合并数组
  var demo5 = demo1.concat(demo2,demo3);//合并数组

1.7 理解Javascript中的正则对象RegExp

RegExp是正则表达式(Regular Expression)的缩写。正则表达式主要用于文本的检索。其基本的语法形式如下:

var pattern = new RegExp(pattern,modifiers); //通过构造方法创建正则对象
  var pattern = /pattern/modifiers;       //直接声明正则对象

  //其中,修饰符modifiers有两种,i和g,i表示不区分大小写,g表示全文检索
  //pattern表示检索模型

  var str = "Hello, Anderson Lu";
  var pattern = /llo/gi;
  var demo1 = str.match(pattern); //使用实例

  var pattern2 = new RegExp("\\Lu\\gi");
  var demo2 = pattern2.test(str); //判断str中是否有符合模式pattern2的串,返回true或者false
  var demo3 = pattern2.exec(str); //返回匹配的字符串

好了,本文到此就结束了,除此之外,还有一些其他的对象,比如Math算术和布尔等等。大家可以通过三水点靠木来进行学习。

Javascript 相关文章推荐
!DOCTYPE声明对JavaScript的影响分析
Apr 12 Javascript
JavaScript将页面表格导出为Excel的具体实现
Dec 27 Javascript
js判断元素是否隐藏的方法
Jun 09 Javascript
js实现的四级左侧网站分类菜单实例
May 06 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
Oct 08 Javascript
Javascript技术难点之apply,call与this之间的衔接
Dec 04 Javascript
JavaScript 拖拽实例代码
Sep 21 Javascript
js基础之DOM中document对象的常用属性方法详解
Oct 28 Javascript
js实现数字从零慢慢增加到指定数字示例
Nov 07 Javascript
ElementUI中el-tree节点的操作的实现
Feb 27 Javascript
antd design table更改某行数据的样式操作
Oct 31 Javascript
微信小程序 根据不同用户切换不同TabBar
Apr 21 Javascript
AngularJS ng-blur 指令详解及简单实例
Jul 30 #Javascript
AngularJS ng-bind-template 指令详解
Jul 30 #Javascript
AngularJS ng-bind-html 指令详解及实例代码
Jul 30 #Javascript
AngularJS ng-bind 指令简单实现
Jul 30 #Javascript
AngularJS ng-app 指令实例详解
Jul 30 #Javascript
如何检测JavaScript的各种类型
Jul 30 #Javascript
详解js中的apply与call的用法
Jul 30 #Javascript
You might like
php实现的任意进制互转类分享
2015/07/07 PHP
php通过淘宝API查询IP地址归属等信息
2015/12/25 PHP
一键生成各种尺寸Icon的php脚本(实例)
2017/02/08 PHP
Laravel框架模板加载,分配变量及简单路由功能示例
2018/06/11 PHP
JavaScript 继承详解(二)
2009/07/13 Javascript
从父页面读取和操作iframe中内容方法
2009/07/25 Javascript
JS动态获取当前时间,并写到特定的区域
2013/05/03 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
js实现鼠标点击左上角滑动菜单效果代码
2015/09/06 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
2017/12/15 Javascript
vue keep-alive请求数据的方法示例
2018/05/16 Javascript
微信小程序实现留言板功能
2018/11/02 Javascript
Vue中通过Vue.extend动态创建实例的方法
2019/08/13 Javascript
[01:09]2014DOTA2国际邀请赛 TI4西雅图DOTA2 中国美女coser加油助威
2014/07/20 DOTA
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
2014/02/24 Python
python类和函数中使用静态变量的方法
2015/05/09 Python
tensorflow学习笔记之简单的神经网络训练和测试
2018/04/15 Python
Python unittest工作原理和使用过程解析
2020/02/24 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
2020/02/29 Python
jupyter notebook运行命令显示[*](解决办法)
2020/05/18 Python
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
英国床垫在线:Mattress Online
2016/12/07 全球购物
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
英国领先的亚洲旅游专家:Wendy Wu Tours
2018/01/21 全球购物
Hotels.com越南:酒店预订
2019/10/29 全球购物
ajax是什么及其工作原理
2012/02/08 面试题
亮化工程实施方案
2014/03/17 职场文书
园林设计专业毕业生求职信
2014/03/23 职场文书
汽车广告策划方案
2014/05/31 职场文书
实习指导老师意见
2015/06/04 职场文书
大学副班长竞选稿
2015/11/21 职场文书
什么是创业计划书?什么是商业计划书?这里一一解答
2019/07/12 职场文书
python 下载文件的几种方式分享
2021/04/07 Python