JavaScript

  JavaScript 是一种轻量级的编程语言,是可插入 HTML 页面的编程代码,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。

1、HTML 中的脚本必须位于 <script> 与 </script> 标签之间。

JavaScript代码存在形式

<!-- 方式一 -->
<script type="text/javascript" src="JS文件"></script> <!-- 方式二 -->
<script type="text/javascript">
Js代码
</script>

2、脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中。(推荐放在body代码块底部)

  由于Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致用户长时间无法看到页面,如果放置在body代码块底部,那么即使js代码耗时严重,也不会影响用户看到页面效果,只是js实现特效慢而已。

3、变量

JavaScript中变量的声明是一个非常容易出错的点,局部变量必须一个 var 开头,如果未使用var,则默认表示声明的是全局变量

var name = "zhangsan"  # 局部变量
nam = "lisi" # 全局变量

4、注释

单行注释以 // 开头,多行注释以 /* 开始,以 */ 结尾

5、基本数据类型

  数字(Number)

#定义
var page = 66;
var age = Number(66);
var a1 = 1,a2 = 2, a3 = 3;
#转换
parseInt("1.2");
parseFloat("1.2");

  字符串(String)

#定义
var name = "zhangsan";
var name = String("lisi");
#转换
var age_str = String(18);
#常用方法:
name.trim() #去空格
name.charAt(index) #根据索引获取字符
name.substring(start,end) #切片
name.indexOf(char) #获取字符对应的索引位置
name.length #长度
name.match("") #查找字符串中特定的字符,找到的话,则返回这个字符

  布尔(Boolean)

#布尔(逻辑)只能有两个值:true 或 false。
var x=true
var y=false

  数组(Array)

#创建
var names=new Array();
cars[0]="aa";
cars[1]="bb";
cars[2]="cc";
#或
var names = ['aa', 'bb', 'cc']
#或
var names =new Array('aa', 'bb', 'cc')
#常用方法:
#添加
names.push("dd") #最后插入
names.unshift("dd") #最前插入
names.splice(index,0,'dd') #指定索引插入
#移除
names.pop() #数组尾部移除并获取
names.shift() #数组头部移除并获取
names.splice(index,count) #数组指定索引往后count个字符
#切片
names.slice(start,end)
#合并
newArray = obj1.concat(obj2)
#翻转
names.reverse()
#字符串化
names.join('_')
#长度
obj.length

  对象(同字典)

#创建
var dic= {"name":"zhangsan" , 'age': 18}
#获取
dic.name;
dic["age"];

  undefined 和null

    undefined 这个值表示变量不含有值。 可以通过将变量的值设置为 null 来清空变量。

6、序列化和反序列化

var dic={name: "zhangsan", age: 18}
#序列化
s=JSON.stringify(dic) #反序列化
s1=JSON.parse(s)

7、循环

  for循环

var names= ["aa", "bb", "cc"];

#数组:方式一
for(var obj in names){
console.log(obj ); #obj只会取到索引
console.log(names[obj ]); #根据索引取值
} #数组:方式二
for(var i=0;i<names.length;i++){
console.log(i);
console.log(names[i]); #根据索引取值
}
#字典
var dic={name: "zhangsan", age: 18} for(var index in dic){
console.log(index); #key
console.log(names[index]); #value
}

  while循环

while (条件)
{
需要执行的代码
} #do/while 循环
# 该循环会在检查条件是否为真之前执行一次代码块,然后如果条件为真的话,就会重复这个循环。 do
{
需要执行的代码
}
while (条件);

8、条件语句

#if条件语句

   if(条件){
#代码
}else if(条件){
#代码
}else{
#代码
}
#switch,case语句
switch(name){
case 'zhangsan':
age = 18;
break;
case 'lisi':
age = 19;
break;
default :
age = 20;
}

9、异常处理

try{
#在这里运行代码
}
catch(err){
#在这里处理错误
}
finally{
#最后执行
}

10、函数

#函数的声明
function func(arg){
return arg;
}
name=func("zhangsan")#执行
console.log(name) #匿名函数
var func = function(arg){
return arg;
}
func() #自执行函数
(function(arg){
console.log(arg);
})('')

11、面向对象

function Foo (name,age) {
this.Name = name;
this.Age = age;
this.Func = function(arg){
return this.Name + arg;
}
} var obj = new Foo('zhangsan', 18); #创建对象 var ret = obj.Func("aaa");
console.log(ret);
console.log(obj.Name );
console.log(obj.Age );

最新文章

  1. Git版本控制
  2. MyEclipse 死掉,JVM terminated. Exit code=1073807364
  3. Setup FTP Server On CentOS, RHEL, Scientific Linux 6.5/6.4/6.3
  4. node.js基础模块http、网页分析工具cherrio实现爬虫
  5. (转)ecshop 后台商品分类添加图片的功能
  6. java教程
  7. 流程控制语句if、else、elif、break、continue
  8. 【BZOJ2754】喵星球上的点名(AC自动机)
  9. 一目了然呀的VS2017 Live Test
  10. Python的魔法函数
  11. pandas处理时间序列(2):DatetimeIndex、索引和选择、含有重复索引的时间序列、日期范围与频率和移位、时间区间和区间算术
  12. 1.8 新特性之 Lambda Expressions
  13. DevOps:从理念到实施
  14. JavaScript--动态加载脚本和样式(23)
  15. PAT甲题题解-1031. Hello World for U (20)-字符串处理,水
  16. windows 中 到底是用的哪个java.exe??? 删除了PATH变量的Java设置还是可以运行java.exe windows/system32
  17. Nexus私服的安装与配置
  18. Hyperledger Fabric MSP Identity Validity Rules——MSP身份验证规则
  19. Quartz 框架 教程(中文版)2.2.x
  20. Why I am not afraid of AI (TBC)

热门文章

  1. Apache Spark技术实战之8:Standalone部署模式下的临时文件清理
  2. DateUtil工具类
  3. Vue.js起手式+Vue小作品实战
  4. PHP 字符串的隐式转换规则以及针对包含字母的字符串的递增/递减操作
  5. VS2010中,无法嵌入互操作类型“……”,请改用适用的接口的解决方法(转自网络)
  6. throw exception
  7. Linux常用命令[转]
  8. POST流方式接受数据方法
  9. 云计算CTO工作的具体内容(挺详细)
  10. 使用二级域名访问本地localhost网站