1、js的语法

a.区分大小写

b.弱类型变量:变量无特定类型

c.每行结尾的分号可有可无

d.括号用于代码块

e.注释的方法与c语言和java相同

2、变量

注意事项:

a.通过关键字var来声明。

b.可以声明多个变量。

c.同一个变量中储存不同的数据类型(最好是同一个变量只存储一种数据类型)

d.变量名称遵循的规则:

(1)首字符必须是字母(大小写均可)、下划线(_)或美元符号($);

(2)余下的字母随意

(3)变量名不能是关键字或者保留字。

3、数据类型

9种数据类型:未定义(Undefined)、空(Null)、布尔型(Boolean)、字符串(String)、数值(Number)、对象(Object)、引用(Reference)、列表(List)和完成(Commpletion)。

a、字符串:string对象用于处理已有的字符串。

规   则:字符包括字母、数字、标点符号和空格。字符串必须放在单引号和双引号里。

注   意:(1)复杂字符串可以用escaping方法来进行转椅;字符串具有leng属性,它返回字符串中字符的个数。

(2)即使字符包含双字节(ASCII字符只占用一个字节),每个字符也只算一个字符。

      (3)获取指定字符的属性charAt()方法,第一个字符位置为0,第二个位置为1,以此类推。

b、从某一段字符中取出一段字符串,可采用slice()、substring()、sunstr()方法。

<!--slice()和substring()-->
    <script>
      var mystring="1234567890abcdefghijk";
    document.write(mystring.slice(2,7)+"<br>");
     document.write(mystring.substring(12,20)+"<br>");
     document.write(mystring.slice(16)+"<br>");
 </script>

<!--slice()和substring()的区别-->

<script>
  var mybl="manaemjszhuzhu";
  document.write(mybl.slice(6,-4)+"<br>");
  document.write(mybl.substring(6,-4)+"<br>");
</script>

注意:slice()负参数时,从字符串的末尾往前计数;substring()负参数时,直接忽略负数,作为0来处理,并将较小的作为起始值,较大的作为终止位。

c、搜索操作字符,使用indexOf()和lastIndexOf()两种方法。

<script>
  var myjiequ="wodejiequzifuchuangyiyayiayo";
  document.write(myjiequ.indexOf("i")+"<br>");//从前往后搜索,第5个是
  document.write(myjiequ.indexOf("i",12)+"<br>");//可选参数,从第几个字符开始往后找
  document.write(myjiequ.lastIndexOf("i")+"<br>");//从后往前搜索
  document.write(myjiequ.lastIndexOf("i",8)+"<br>");//可选参数,从第几个字符开始往前找
  document.write(myjiequ.lastIndexOf("z",8)+"<br>");//字符串z,找不到,返回-1
</script>

d、数值(可以是任意的数字,包括小数和负数)

<!--数值的科学计数法toExponential()-->
<script language="javascript">
var mynumber=8907;//注意数据类型,数值的写法,数字不能用引号引起来。
alert(mynumber.toExponential(2));
</script>

e、布尔型(只有2个只:false和true;布尔型不能用引号引起来)

<!--布尔型变量的正确写法-->
<script>
  var married=true;
  alert("1."+typeof(married));
  married="true";
  alert("2."+typeof(married));//typeof()查看数据的类型
</script>

f、类型转换(转换函数、强制类型转换、利用js变量弱类型转换)

详情见——贰、js的基础(二)

g、数组:有名称相同的多个值构成一个集合。

(1)使用关键字array来声明;可以指定这个数组元素的个数(也就是长度);数据元素可以是字符串、数值和布尔值。

(2)数组的声明方法:

  arrayObj = new Array(); //创建一个数组。

    代码如下:var arr1 = new Array();

arrayObj = new Array([size]) 创建一个数组并指定长度,注意不是上限,是长度。

     代码如下:var a = new Array(5);

arrayObj = new Array([element0[, element1[, ...[, elementN]]]]) 创建一个数组并赋值。

代码如下:var a = new Array(["b", 2, "a", 4,]);

arrayObj = [element0, element1, ..., elementN] 创建一个数组并赋值的简写,注意这里中括号不表示可省略。

代码如下:var a = ["b", 2, "a", 4,];

(注):注意带“[]”与不带“[]”的区别

代码如下:

var a = new Array(5); //指创建长度为5的数组

   var a = new Array([5]); //指创建一个数组,长度为1,并且第一位是5
(3)数组的使用方法
      详情见——贰、js的基础(三)
4、关键字:描述了一组具有特定用途的关键字。这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。按照规则,关键字也是语言保留的,不能用作标识符
break do instanceof typeof
case else new var
catch finally return void
continue for switch while
debugger* function this with
default if throw delete
in try    
 
5、保留字:ECMA-262 还描述了另外一组不能用作标识符的保留字。尽管保留字在这门语言中还没有任何特定的用途。但它们有可能在将来被用作关键字。以下是ECMA-262 第3 版定义的全部保留字
 
 
 
abstract enum int short
boolean export interface static
byte extends long super
char final native synchronized
class float package throws
const goto private transient
debugger implements protected volatile
double import public  


第5 版把在非严格模式下运行时的保留字缩减为下列这些:

class enum extends super
const export import  



在严格模式下,第5 版还对以下保留字施加了限制:

implements package public interface
private static let protected
yield      

贰、js的基础(一)的更多相关文章

  1. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  2. Node.js系列基础学习----安装,实现Hello World, REPL

    Node.js基础学习 简介 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一 ...

  3. css+js+html基础知识总结

    css+js+html基础知识总结 一.CSS相关 1.css的盒子模型:IE盒子模型.标准W3C盒子模型: 2.CSS优先级机制: 选择器的优先权:!important>style(内联样式) ...

  4. JavaScript基础精华02(函数声明,arguments对象,匿名函数,JS面向对象基础)

    函数声明 JavaScript中声明函数的方式:(无需声明返回值类型) function add(i1, i2) {             return i1 + i2;//如果不写return返回 ...

  5. JavaScript--我发现,原来你是这样的JS(基础概念--灵魂篇,一起来学js吧)

    介绍 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第三篇(灵魂篇介绍),有着剩下的第三章的知识内容,当然其中还有我个人的理解.红宝书这本书可以说是难啃的,要看完不容易,挺厚的,要看懂 ...

  6. js复习--基础

    最近工作遇到了一些小困难,基础真的很重要,漫天高楼起于地. 一,script元素 包括type=“text/Javascript”,defer延迟到html加载完解析,src=“../../test. ...

  7. 第八节 JS运动基础

    运动基础 让Div运动起来 速度——物体运动的快慢 运动中的Bug 不会停止 速度取某些值会无法停止 到达位置后再点击还会运动 重复点击速度加快 匀速运动(速度不变) 运动框架及应用: 运动框架: 在 ...

  8. JS零基础一步一步做应用全记录

    1.起因 作为几个外卖重度依赖癌晚期患者,呆宿舍的时候几个人一起叫外卖已经是常事.偶然看到隔壁宿舍在饿了么订餐的时候,看到在饿了么的首页上有一个谁去拿外卖的一个小游戏/工具,感觉这个小细节,饿了么把握 ...

  9. 认识JS的基础对象,定义对象的方法

    JS的基础对象: 1.window       //窗口对象 2.document   //文档对象 3.document.documentElement      //html对象 4.docume ...

随机推荐

  1. ASP内建对象

    Active Server Pages 提供内建对象,这些对象使用户更容易收集通过浏览器请求发送的信息.响应浏览器以及存储用户信息(如用户首选项).本文简要说明每一个对象.有关每个对象的详细信息,请参 ...

  2. 【原创】spring中的事务传播特性

    关于spring的传播特性,我对其进行了详细的叙述了下: PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务.这是最常见的选择. 比如方法A调用方法B,如果方法 ...

  3. php基础------将二维数组转三维数组

    将二维数组转为三维数组 /** * 二维数组转三维数组(指定键为三维数组的键名) * @param [type] $arr [要排序的数组] * @param [type] $key [指定的键] * ...

  4. ZBrush中SnakeHook蛇钩笔刷介绍

    不同笔刷用着不同的作用,绘画出来的效果也是千姿百态,各有千秋,有些笔刷在使用的时候可以替代,但有些笔刷是无法替代,不可超越的,比如ZBrush®中给我们提供的,SnakeHook笔刷,该笔刷在模型表面 ...

  5. CF1041F Ray in the tube构造_思维

    不难发现起点必定是一个点. 每次间隔的距离一定是 2k2^k2k,关键就是要判断两点是否在同一跳跃距离上可被同时覆盖. 我们可以对上边进行 x1≡x_{1}\equivx1​≡ x2mod(2∗dx) ...

  6. AIM Tech Round 5 1028cf(A-E)

    AIM Tech Round 5 (codeforces上题目编号是1028)(A-E) ---完全被这次比赛打击,自己真的很渣--- 战况 依旧3题选手 被构造题坑得好惨 稍稍涨了rating,希望 ...

  7. 【HiJ1m】在NOIP2017前写过的有用的东西汇总

    http://www.cnblogs.com/Elfish/p/7544623.html 高级树状数组 http://www.cnblogs.com/Elfish/p/7554420.html BST ...

  8. Vue轮播图插件---Vue-Awesome-Swiper

    轮播图插件 Vue-Awesome-Swiper 地址:https://github.com/surmon-china/vue-awesome-swiper 安装:npm install vue-aw ...

  9. linux内核(五)虚拟文件系统

    虚拟文件系统(VFS)是linux内核和具体I/O设备之间的封装的一层共通访问接口,通过这层接口,linux内核可以以同一的方式访问各种I/O设备. 虚拟文件系统本身是linux内核的一部分,是纯软件 ...

  10. Opencv 使用Rect选取与设置窗口ROI

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50593825 首先看一下Rect对象的 ...