一、JS代码引入以及基本代码规范

# 1.js代码书写格式
<script>
....js的代码
</script> #2.script标签写在页面那个位置
1)页面的head标签中和body标签之后
2)建议写在body标签之后(推荐:html读取顺序由上至下) # 3.引入第三方文件
<script src="js的资源路径"></script>
例:<script type='text/javascript' src='/path/to/js文件'></script> # 4.JS的注释方式
// 单行注释
/**
多行注释
**/ # 5.JS的结束符号,以分号为结束符号,如果没有的话,js引擎会自动加上

# 6.写JS代码选择
  a.编辑器 (pycharm) (永久生效)
  b.chrome浏览器console 开发者平台编写 (临时测试的js代码)

二、变量声明

# a.变量名命名的时候:
1)可以使用 _,数字,字母,$ 组成,且不能以数字开头
2)声明变量使用 var 变量名 来进行声明
var a=34
注意:变量名区分大小写str和Str不是一个变量,也就是js对变量名的大小写是敏感的 # b.JS变量类型
字符串str: var a="hello";
整型:int: var a=10;
浮点型float: var a=3.14;
布尔型bool: true/false;(必须都是小写)
数组array:
  # 获取数组内容:
  var list=['simon',22,'xc'];
  console.log(list[2]);
    # 读取    
    for(var i = 0; i < arr.length; i++){
        console.log(arr[i]);
    }

对象型(字典)dict:json数据格式,python字典
# 读取:
var info = {"name":'simon',"age":30}
console.log(info.name);
console.log(info['name']);

# c.null和undefined
undefined 是声明了变量但未对其赋予值
null 则用于表示尚未存在的空值
# str字符串常见操作方法
var obj="simon-xc" obj.length              长度
obj.trim()               移除空白
obj.trimLeft()
obj.trimRight()
obj.charAt(n)            返回字符串中的第n个字符
obj.concat(value, …)         拼接
obj.indexOf(substring,start)     子序列位置
obj.substring(from, to)       根据索引获取子序列
obj.slice(start, end)         切片
obj.toLowerCase()         大写
obj.toUpperCase()         小写
obj.split(delimiter, limit)      分割 # list数组的常用方法
var obj = ['simon', 12, 'xc']; obj.length 数组的大小
obj.push(ele) 尾部追加元素
obj.pop() 尾部获取一个元素
obj.unshift(ele) 头部插入元素
obj.shift() 头部移除元素
obj.slice( ) 切片
obj.reverse( ) 反转
obj.join(sep) 将数组元素连接起来以构建一个字符串
obj.concat(val,..) 连接数组
obj.sort( ) 对数组元素进行排序

三、运算符介绍

# 算术运算符
+ —— * % ++ --
例:
a++ ----> a += 1
a-- ----> a -= 1 # 比较运算符
> >= < <= != == === !==
例:
=== 全等:
var a = 10;
var b = "10"; a == b
true
a === b
false !== 全不等:都不符合才行

# 赋值运算符
= += -= *= /=

# 逻辑运算符
&& || !

四、流程控制

# 流程控制分为3大类:顺序、分支、循环
# 分支
# if..else..语句
if (条件){
当条件为 true 时执行的代码
}else{
当条件不为 true 时执行的代码
} # if..else if ..else语句
if (条件 1){
当条件 1 为 true 时执行的代码
}else if (条件 2){
当条件 2 为 true 时执行的代码
}else{
当条件 1 和 条件 2 都不为 true 时执行的代码
} # switch语句
var day=new Date().getDay();
switch (day){
case 0:
x="Today it's Sunday";
break;
case 1:
x="Today it's Monday";
break;
case 2:
x="Today it's Tuesday";
break;
case 3:
x="Today it's Wednesday";
break;
default:
x="Looking forward to the Weekend";
}
# 循环
# for 循环
# 数组
var arr = ['simon', '龙哥', 'xc']
#第一种循环:
for (var i in arr){
console.log(arr[i]);
}
# 第二种循环
for (var i=0; i<arr.length; i++){
console.log(arr[i]);
} # 字典
var d = {"name":'simon', 'age':18};
# 只有一种循环
for (var i in d){
console.log(d[i]);
} # while循环
while (i<5){
x=x + "The number is " + i + "<br>";
i++;
}
# 三元运算符
var a = 3;
var b = 5;
c = a > b ? a : b
console.log(c); # 结果:5

五、函数

# 1.函数的定义
注意:javascript中的函数和python的中函数大同小异,唯一不同的是函数的定义方式 # a.正常的定义方式 ---- 普通青年
function test(a,b){
return a + b;
}
# b.匿名函数的定义方式 ---- 2B青年
var sum = function(a, b){
return a + b;
}
# c.立即调用函数方式 ----- 文艺青年
(function(a, b){
return a + b;
})();

ps: 阮一峰:http://www.ruanyifeng.com/home.html
# 2.函数的全局变量和局部变量
全局变量:定义在函数外部,并且推荐使用var进行显式声明
局部变量:定义在函数内部,并且必须使用var进行显式声明 // 全局变量
var age = 73;
function test(){
// 局部变量
var height = 178;
// 默认全局变量
leg = 4;
}
# 3.函数的作用域
# 首先在函数内部查找变量,找不到则到外层函数查找,逐步找到最外层即window对象,并操作window对象上的属性 console.log(window.a, window.b);
function test(){
var a = "local";
b = "global";
}
console.log(window.a, window.b);

六、常见的模块与常用的方法

# 1.日期类Date
var d = new Date(); getYear()        从 Date 对象返回一个月中的某一天 (1 ~ 31)
getFullYear()     从 Date 对象以四位数字返回年份
getMonth()       从 Date 对象返回月份 (0 ~ 11)
getDate()        从 Date 对象返回一个月中的某一天 (1 ~ 31)
getDay()        从 Date 对象返回一周中的某一天 (0 ~ 6)
getHours()       返回 Date 对象的小时 (0 ~ 23)
getMinutes()     返回 Date 对象的分钟 (0 ~ 59)
getSeconds()     返回 Date 对象的秒数 (0 ~ 59)
# 案例
当前时间:<input type='text' value='' id='time'/>
function change(){
var time = document.getElementById("time");
var d = new Date();
time.value = d;
}
setInterval(change, 1000);
# 2.Math数学对象
Math.ceil(数值)     向上取整
Math.floor(数值)    向下取整
Math.round(数值)    把数四舍五入为最接近的整数
Math.min(数值1,数值2)   返回最小值
Math.max(数值1,数值2)   返回最大值
Math.random()      获得0-1之间的随机数
# 3. 常见的其他函数
# 在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键 # 例如:
# Json字符串
var str1 = {"name":"simon","age":18,"gender":"male"}; # Json 对象
var str1 = {"name":"simon","age":18,"gender":"male"}; # JSON字符串转换成JSON对象:
var obj = JSON.parse(str); // 序列化 # JSON对象转换成JSON字符串:
var str = JSON.stringify(obj); // 反序列化
# 4.evalpython中的eval执行的是表达式,exec执行的是代码,而js中的eval既能执行的表达式,也能执行代码
#5.URL转义
decodeURI() 解码URI
decodeURIComponent() 解码URI中的组件部分
encodeURI() 编码URI
encodeURIComponent() 编码URI中的组件部分
escape() 对字符串进行转义
unescape() 对字符串进行解码

前端之JavaScript基础学习的更多相关文章

  1. 前端之JavaScript基础

    前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...

  2. 第三篇:web之前端之JavaScript基础

    前端之JavaScript基础   前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript ...

  3. JavaScript 基础学习1-day14

    JavaScript 基础学习1 知识预览JavaScript概述二 JavaScript的基础三 JavaScript的对象BOM对象DOM对象实例练习js扩展 JavaScript概述 JavaS ...

  4. 48.javascript基础学习

    javascript基础学习:   http://www.w3school.com.cn/jsref/index.asp jS的引入方式: 1.行间事件:为某一个具体的元素标签赋予js内容,oncli ...

  5. JavaScript 基础学习(二)js 和 html 的结合方式

    第一种 使用一个标签 <script type="text/javascript"> js代码; </script> 第二种 使用 script 标签,引入 ...

  6. JavaScript 基础 学习 (四)

    JavaScript 基础 学习 (四) 解绑事件 dom级 事件解绑 ​ 元素.on事件类型 = null ​ 因为赋值的关系,所以给事件赋值为 null 的时候 ​ 事件触发的时候,就没有事件处理 ...

  7. JavaScript 基础 学习(三)

    JavaScript 基础 学习(三) 事件三要素 ​ 1.事件源: 绑定在谁身上的事件(和谁约定好) ​ 2.事件类型: 绑定一个什么事件 ​ 3.事件处理函数: 当行为发生的时候,要执行哪一个函数 ...

  8. JavaScript 基础 学习 (二)

    JavaScript 基础 学习 节点属性 ​ 每一个节点都有自己的特点 ​ 这个节点属性就记录着属于自己节点的特点 1. nodeType(以一个数字来表示这个节点类型) ​ 语法:节点.nodeT ...

  9. JavaScript 基础 学习 (一)

    JavaScript 基础 学习 获取页面中的元素的方法 作用:通过各种方式获取页面中的元素 ​ 比如:id,类名,标签名,选择器 的方式来获取元素 ​ 伪数组: ​ 长的和数组差不多,也是按照索引排 ...

  10. JavaScript 基础学习(二)

    JavaScript 基础学习(二) instanceof方法: var s = "hello"; var i = 8; //typeof 只能判断基本数据类型 alert(typ ...

随机推荐

  1. Advanced .Net Debugging 5:基本调试任务(线程的操作、代码审查、CLR内部的命令、诊断命令和崩溃转储文件)

    一.介绍 这是我的<Advanced .Net Debugging>这个系列的第五篇文章.今天这篇文章的标题虽然叫做"基本调试任务",但是这章的内容还是挺多的.上一篇我 ...

  2. Java 实现压缩图片,视频,音频案例

    Java 实现压缩图片,视频,音频案例 在 Java 中,要实现视频压缩通常需要使用外部的库或工具,因为 Java 标准库本身并不提供直接的视频处理功能.以下是一些常用的方法和工具来压缩视频: FFm ...

  3. 主nginx和子nginx-------域名-端口-解答

    主nginx和子nginx-------域名-端口-解答 想象一下Nginx是一个接待员,每个端口就像接待员的一个电话线,而server_name就像是客户拨打的不同号码. 当你在Nginx配置文件里 ...

  4. 【FastDFS】面试官:如何实现文件的大规模分布式存储?(全程实战)

    写在前面 在<[FastDFS]小伙伴们说在CentOS 8服务器上搭建FastDFS环境总报错?>一文中,详细的介绍了如何在CentOS 8服务器行搭建FastDFS环境.在生产环境中, ...

  5. Java 多级文件夹创建

    File类中的mkdir()和mkdirs(): mkdir():只能创建一层目录.  mkdirs():可以创建多层目录 String path = "E:\\lxwtest\\test& ...

  6. sql语句TRUNCATE 清空表数据

    清空表数据 TRUNCATE TABLE zzsfp_hwmx;

  7. Python爬虫爬取ECVA论文标题、作者、链接

    1 import re 2 import requests 3 from bs4 import BeautifulSoup 4 import lxml 5 import traceback 6 imp ...

  8. #NIM游戏#CodeChef A Game With a Sheet of Paper

    SHGAME 分析 可以发现每次相当于去掉上下左右的若干行列,也就是 \(x-1,n-1-x,y-1,m-1-y\) 题目就转换成了取石子的问题,先手必胜当且仅当 \((x-1)\) xor \((n ...

  9. #换根dp#洛谷 2986 [USACO10MAR]Great Cow Gathering G

    题目 分析 处理出所有点到根节点的答案,然后换根依次求最小值 代码 #include <cstdio> #include <cctype> #define rr registe ...

  10. #模拟#U137456 数字

    题目 牛牛和他的小伙伴们高高兴兴的吃完了蛋糕,吃完蛋糕之后就到了牛牛和他的小伙伴们最喜欢的环节了--猜数 字, 这次是牛牛的生日,大家决定让牛牛来制定规则,由于牛牛的生日是4月7日,所以牛牛特别喜欢数 ...