贰、js的基础(一)
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(); //创建一个数组。
arrayObj = new Array([size]) 创建一个数组并指定长度,注意不是上限,是长度。
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的数组
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 |
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的基础(一)的更多相关文章
- node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法
1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...
- Node.js系列基础学习----安装,实现Hello World, REPL
Node.js基础学习 简介 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一 ...
- css+js+html基础知识总结
css+js+html基础知识总结 一.CSS相关 1.css的盒子模型:IE盒子模型.标准W3C盒子模型: 2.CSS优先级机制: 选择器的优先权:!important>style(内联样式) ...
- JavaScript基础精华02(函数声明,arguments对象,匿名函数,JS面向对象基础)
函数声明 JavaScript中声明函数的方式:(无需声明返回值类型) function add(i1, i2) { return i1 + i2;//如果不写return返回 ...
- JavaScript--我发现,原来你是这样的JS(基础概念--灵魂篇,一起来学js吧)
介绍 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第三篇(灵魂篇介绍),有着剩下的第三章的知识内容,当然其中还有我个人的理解.红宝书这本书可以说是难啃的,要看完不容易,挺厚的,要看懂 ...
- js复习--基础
最近工作遇到了一些小困难,基础真的很重要,漫天高楼起于地. 一,script元素 包括type=“text/Javascript”,defer延迟到html加载完解析,src=“../../test. ...
- 第八节 JS运动基础
运动基础 让Div运动起来 速度——物体运动的快慢 运动中的Bug 不会停止 速度取某些值会无法停止 到达位置后再点击还会运动 重复点击速度加快 匀速运动(速度不变) 运动框架及应用: 运动框架: 在 ...
- JS零基础一步一步做应用全记录
1.起因 作为几个外卖重度依赖癌晚期患者,呆宿舍的时候几个人一起叫外卖已经是常事.偶然看到隔壁宿舍在饿了么订餐的时候,看到在饿了么的首页上有一个谁去拿外卖的一个小游戏/工具,感觉这个小细节,饿了么把握 ...
- 认识JS的基础对象,定义对象的方法
JS的基础对象: 1.window //窗口对象 2.document //文档对象 3.document.documentElement //html对象 4.docume ...
随机推荐
- ASP内建对象
Active Server Pages 提供内建对象,这些对象使用户更容易收集通过浏览器请求发送的信息.响应浏览器以及存储用户信息(如用户首选项).本文简要说明每一个对象.有关每个对象的详细信息,请参 ...
- 【原创】spring中的事务传播特性
关于spring的传播特性,我对其进行了详细的叙述了下: PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务.这是最常见的选择. 比如方法A调用方法B,如果方法 ...
- php基础------将二维数组转三维数组
将二维数组转为三维数组 /** * 二维数组转三维数组(指定键为三维数组的键名) * @param [type] $arr [要排序的数组] * @param [type] $key [指定的键] * ...
- ZBrush中SnakeHook蛇钩笔刷介绍
不同笔刷用着不同的作用,绘画出来的效果也是千姿百态,各有千秋,有些笔刷在使用的时候可以替代,但有些笔刷是无法替代,不可超越的,比如ZBrush®中给我们提供的,SnakeHook笔刷,该笔刷在模型表面 ...
- CF1041F Ray in the tube构造_思维
不难发现起点必定是一个点. 每次间隔的距离一定是 2k2^k2k,关键就是要判断两点是否在同一跳跃距离上可被同时覆盖. 我们可以对上边进行 x1≡x_{1}\equivx1≡ x2mod(2∗dx) ...
- AIM Tech Round 5 1028cf(A-E)
AIM Tech Round 5 (codeforces上题目编号是1028)(A-E) ---完全被这次比赛打击,自己真的很渣--- 战况 依旧3题选手 被构造题坑得好惨 稍稍涨了rating,希望 ...
- 【HiJ1m】在NOIP2017前写过的有用的东西汇总
http://www.cnblogs.com/Elfish/p/7544623.html 高级树状数组 http://www.cnblogs.com/Elfish/p/7554420.html BST ...
- Vue轮播图插件---Vue-Awesome-Swiper
轮播图插件 Vue-Awesome-Swiper 地址:https://github.com/surmon-china/vue-awesome-swiper 安装:npm install vue-aw ...
- linux内核(五)虚拟文件系统
虚拟文件系统(VFS)是linux内核和具体I/O设备之间的封装的一层共通访问接口,通过这层接口,linux内核可以以同一的方式访问各种I/O设备. 虚拟文件系统本身是linux内核的一部分,是纯软件 ...
- Opencv 使用Rect选取与设置窗口ROI
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50593825 首先看一下Rect对象的 ...