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. ZBrush中移动笔刷介绍

    移动笔刷是ZBrush®笔刷中举足轻重的一项,利用移动笔刷可以实现移动顶点的功能,还能改变模型的某一个点和某一位置.本文内容向大家介绍ZBrush®中移动笔刷以便大家熟悉它的用法和特性. 移动笔刷 可 ...

  2. Android 开发者必知的开发资源

    英文原文:Bongzimo  翻译: ImportNew-黄小非 译文链接:http://www.importnew.com/3988.html Android 开发者必知的开发资源 随着Androi ...

  3. Android开发新手HelloWorld解析

    首先看这个 HelloWorld 类. Java代码public class HelloWorld extends Activity {       /** Called when the activ ...

  4. [luogu] P2519 [HAOI2011]problem a (贪心)

    P2519 [HAOI2011]problem a 题目描述 一次考试共有n个人参加,第i个人说:"有ai个人分数比我高,bi个人分数比我低."问最少有几个人没有说真话(可能有相同 ...

  5. 《一个民企CEO的职场阳谋》–读书总结(上)

    职场是一个战场,很多人几十年在这里战斗. 职场是一个熔炉,很多人大半生在这里修炼. 如果在办公室里得不到快乐,生活就不会快乐. 如果公司里头感觉不到幸福,人生就不会幸福.(以上四句来自老刘的博客) & ...

  6. CSS学习(五)

    导航栏 熟练使用导航栏,对于任何网站都非常重要. 使用CSS你可以转换成好看的导航栏而不是枯燥的HTML菜单. 导航栏=链接列表 作为标准的HTML基础一个导航栏是必须的.在我们的例子中我们将建立一个 ...

  7. POJ 3128

    置换的开方. 看看Pan的那篇集训论文.此处,可以想到,开方时,由于gcd(l,2),则必然有若是循环长度为偶数,必定是成对出现的.若是奇数,既可以是偶数也可以是奇数,因为,通过二次方后,循环长度为偶 ...

  8. 【POJ 1850】 Code

    [POJ 1850] Code 还是非常想说 数位dp真的非常方便! !. 数位dp真的非常方便!.! 数位dp真的非常方便! !! 重要的事说三遍 该题转换规则跟进制差点儿相同 到z时进一位 如az ...

  9. HDOJ 1874 畅通project续

    畅通project续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  10. 浅析Java抽象类和接口的比較

    abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是因为这两种机制的存在,才赋予了Java强大的面向对象能力. abstract class和inte ...