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. 使用LayUI在页面实现加载层(图标)代码:

    实现代码: var index = layer.load({ shade: [0.4,'#def'], icon :' 实现效果: 可以使用 layer.close(index); 来控制其在什么时 ...

  2. com.jasson.im.api.APIClient jar包 下载

    包名:ImApi2.3.jar 链接: https://pan.baidu.com/s/1SgeufcaH6y_K-AJEKDZDtw 提取码: 3v78 复制这段内容后打开百度网盘手机App,操作更 ...

  3. 基于LXC的虚拟网络自动部署

    一.问题: 在搭建以LXC为基础的虚拟网络时,网络参数繁多,配置过程繁琐.面临一个新的网络拓扑结构时,通常要花费大量时间来构建网络.因此,如果能通过配置文件,自动生成相对应的网络拓扑,并生成操作指令. ...

  4. 2019-03-18 使用Request POST获取CNABS网站上JSON格式的表格数据,并解析出来用pymssql写到SQL Server中

    import requests import pymssql url = 'https://v1.cn-abs.com/ajax/ChartMarketHandler.ashx' headers = ...

  5. springboot项目封装为docker镜像

    1.本次镜像的基础镜像是:https://www.cnblogs.com/JoeyWong/p/9173265.html 2.将打包好的项目文件放在与Dockerfile同级的目录下 3.Docker ...

  6. Jquery学习总结(2)——jQuery Ajax用法详解

    [详解]jquery ajax在web应用开发中常用,主要包括有ajax,get,post,load,getscript等这几种常用无刷新操作方法,下面来给大家介绍一下.我们首先先从最简单的方法看起. ...

  7. cmd 下命令

    tasklist 查看当前进程 taskkill /? 查看taskkill 的帮助信息 详情 cmd /?  查看cmd详情 color /? 查看颜色详情  比如 color 2 md d:\ji ...

  8. Cocos2d-x 多点触摸

    多点触摸的实现步骤与单点触摸类似,setTouchEnabled(true)开启触摸功能,注冊触摸事件,重载多点触摸函数:ccTouchesBegan(開始).ccTouchesMoved(移动).c ...

  9. matplotlib 可视化 —— matplotlib.patches

    官方帮助文档 patches - Matplotlib 1.5.1 documentation patches 下主要包含的常用图形类有: Eclipse Circle Wedge 1. plt.gc ...

  10. 区间不相交&区间覆盖

    //code by virtualtan 2018 寒7 区间不相交 #include <cstdio> #include <algorithm> #define MAXN 1 ...