HTML中的三把利器的JS 又称为JavaScript,看着好像和Java有点联系,实际上他和java半毛钱关系都没有,JavaScript和我们学习的Python、Go、Java、C++等,都是一种独立的语言,Python的解释器有Python2.7、Python3.x,浏览器具有解释JavaScript的功能,所以它才是HTML的三把利器之一。

  在HTML中可以将JavaScript/JS的代码写在head中,被script标签所包裹,当浏览器解释HTML时,遇到style标签时,按照CSS规则解释,遇到Script标签时,按照JavaScript的语法规则解释。

引入JavaScript代码,类似于Python的import

<script src="public.js" type="text/javascript"></script>

head中引入JS与body中引入JS区别

  html代码从上而下解析,如果在head中引入JS,影响页面打开的速度,所以通常放在htmlbody的最下方,这样页面内容先展示,最后再加载JS。

一、js变量

 name = '大师兄'; // 默认全局变量
function func() {
var name = 'niuniu'; // 局部变量
}

二、js基本数据类型

1、字符串

 //字符串
var name = '你开心就好';
var str = '双鱼座';
name_str = name + str ; //拼接字符串
name.concat(str); //拼接字符串
name.charAt(0); //根据角标获取字符串的某一字符
name.substring([0,2]); //根据角标获取字符串序列,顾头不顾尾,和Python的切片类似
name.slice(0,2); //切片,与上面一样
name.length //获取字符串的长度
name.indexOf('开心'); //根据字符获取角标,只匹配第一个字符
name.toUpperCase(); //变为大写
name.toLowerCase(); //变为小写
name.split('心'); //根据字符分割,返回的是数组
//数字类型
var age = 20;
var score = 88.88;
var strNum = '88.88';
parseInt(strNum); //将字符串类型的数字转换成整数,去掉小数部分
parseFloat(strNum); //将字符串类型的数字转换成小数
//布尔类型
var t = true; //小写
var f = false; //小写

2、数组类型(相当于Python的list)

 //数组
var list = []; //创建空数组
var list1 = [1,2,3];
var list2 = new Array();//创建空数组
var list3 = new Array(1,2,3);
list1.length //数组的长度
list.push(4,5); //尾部增加元素,相当于Python的append
list.unshift(0,0); //从头部增加元素
list.shift(); //从头部获取一个元素并删除
list.pop(); //从尾部获取一个元素并删除
list.splice(start,deletecount,val); //插入、删除或替换数组的元素
//start代表起始位置
//deletecount代表删除元素的个数
//value代表插入的元素
list.splice(n,0,val); //指定位置插入元素
list.splice(n,1,val); //指定位置替换元素
list.splice(n,1); //指定位置删除元素
list.slice(1,2); //切片,与Python的切片类似,顾前不顾后
list.reverse(); //反转
list.join('-'); //将数组根据分割符拼接成字符串
list.concat(list1); //数组与数组拼接
list.sort(); //排序

3、对象类型(相当于Python的字典)

 //对象(Python中叫字典)
var dict = {name:'dsx',age:18,sex:'男' };
dict.age; //取值
dict['name']; //取值
dict.age = 22; //修改
dict['name'] = '大师兄'; //修改
delete dict['name']; //删除
delete dict.age; //删除

三、js条件判断语句

1、if条件判断

 //if条件判断
if ('1'==1){ //两个等号不校验数据类型是否相同
console.log('A') //打印,等同于Python的print
}else if ('2'===2) { //三个等号会校验数据类型
console.log('B');
}else if (3===3 && 4===4){ //相当于and
console.log('C')
}else if (1==1 || 2==3){ //相当于or
console.log('D')
}else {
console.log('E')
}

2、switch条件判断

 //switch条件判断
switch (2){
case 1:
console.log('A');
break;
case 2:
console.log('B');
break;
default:
console.log('C');
}

四、js循环语句

1、第一种循环

 //循环字符串
var name = '这是为 什么?';
for (var a in name){
console.log(name[a])
}
//循环数组
var list = ['大师兄','牛牛','安大叔'];
for (var i in list){
console.log(list[i])
}
//循环对象
var dict = {'a':'1','b':'2'};
for (var d in dict){
console.log(d);
console.log(dict[d])
}

2、第二种循环(不支持字典的循环)

 //循环字符串
var name = '这是为 什么?';
for(var i=0;i<name.length;i++){
console.log(name[i])
}
//循环数组
var list = ['大师兄','牛牛','安大叔'];
for (var i=0;i<list.length;i++){
console.log(list[i])
}

3、第三种循环(死循环)

 while (1==1){
console.log('AAA')
}

五、函数定义

 //常规函数
function f(name,age) {
console.log(name);
console.log(age);
}
f('dsx',18);
//匿名函数,函数没有名字,无法调用时找到,将整个函数当作一个参数传递
var func = function () { //将匿名函数赋值给一个变量
alert('这是一个匿名函数')
};
func()
//自执行函数
(function () {
console.log('自执行函数')
})(); //函数作用域
var name = 'nhy';
function f() {
var name = 'dsx';
console.log('in-->'+name); //dsx
}console.log('out-->'+name); //nhy
f();

六、面向对象

 //面向对象
function f(name) {
this.name = name; //this相当于Python中的self,代指本类
this.say = function () {
console.log('say-->'+this.name)
}
}
var obj = new f('dsx'); //实例化
console.log(obj.name); //调用类里面的变量
obj.say();

HTML学习之==>JS的更多相关文章

  1. JavaScript学习12 JS中定义对象的几种方式

    JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...

  2. JavaScript学习10 JS数据类型、强制类型转换和对象属性

    JavaScript学习10 JS数据类型.强制类型转换和对象属性 JavaScript数据类型 JavaScript中有五种原始数据类型:Undefined.Null.Boolean.Number以 ...

  3. JavaScript学习06 JS事件对象

    JavaScript学习06 JS事件对象 事件对象:当事件发生时,浏览器自动建立该对象,并包含该事件的类型.鼠标坐标等. 事件对象的属性:格式:event.属性. 一些说明: event代表事件的状 ...

  4. JavaScript学习03 JS函数

    JavaScript学习03 JS函数 函数就是包裹在花括号中的代码块,前面使用了关键词function: function functionName() { 这里是要执行的代码 } 函数参数 函数的 ...

  5. 学习zepto.js(原型方法)

    学习zepto.js(原型方法)[1] 转载 新的一周,新的开始,今天来学习一下zepto里边的原型方法,就是通过$.进行调用的方法,也是可以通过$.fn进行扩展的方法: $.camelCase(): ...

  6. JavaScript学习12 JS中定义对象的几种方式【转】

    avaScript学习12 JS中定义对象的几种方式 转自:  http://www.cnblogs.com/mengdd/p/3697255.html JavaScript中没有类的概念,只有对象. ...

  7. 从零开始学习Vue.js,学习笔记

    一.为什么学习vue.js methods 只有纯粹的数据逻辑,而不是去处理 DOM 事件细节. vue.js兼具angular.js和react的优点,并且剔除了他们的缺点 官网:http://cn ...

  8. AJAX学习前奏----JS基础加强

     AJAX学习前奏----JS基础加强 知识概要: 1.js类&属性&方法的定义 2.静态属性与方法 3.构造方法 4.原型的使用 5.Object对象直接加属性和方法 6.JSO ...

  9. 学习rollup.js模块文件打包

    学习rollup.js模块文件打包 一:rollup 是什么?Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码. webpack 和 Rollup 对比不同点 ...

  10. [学习笔记]JS 数组Array push相关问题

    前言: 今天用写了一个二维数组,都赋值为零,然后更新其中一个值,结果和预期是不一样,会整列的相同位置都是同一个值. 1.用Chrome的控制台样例如下: arrs[2][2] =1的赋值,竟然是三个数 ...

随机推荐

  1. centos--软件源--本地软件源---离线安装

    一.软件源配置文件 1./etc/yum.conf 配置文件 [main] cachedir=/var/cache/yum #yum下载的RPM包的缓存目录 keepcache= #缓存是否保存,1保 ...

  2. C语言——枚举类型用法

    1.枚举的定义 enum 枚举名{ 枚举元 素1,枚举元素2,枚举元素3...}: 2.使用枚举类型的好处 增加程序的可读性,我们都知道在计算机中所有信息都是用二进制来表示的,如果你用二进制来表示某件 ...

  3. suse清除kthrotlds木马病毒

    一.服务器感染了kthrotlds挖矿病毒 [root@51yt bin]# cd /bin/ [root@51yt bin]# wget https://busybox.net/downloads/ ...

  4. 构造函数为何不能用abstract, static, final修饰

    不同于方法,构造器不能是abstract, static, final的. 1.构造器不是通过继承得到的,所以没有必要把它声明为final的. 2.同理,一个抽象的构造器将永远不会被实现,所以它也不能 ...

  5. 前端每日实战:136# 视频演示如何用 D3 和 GSAP 创作一个横条 loader

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/pOZKWJ 可交互视频 此视频是可 ...

  6. ZROI 19.08.10模拟赛

    传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. A \(20pts:\) 枚举操作序列然后暴力跑,复杂度\(O(6^n)\). \([50,80]pts:\) 枚举改成dfs,每层操 ...

  7. python之路day15--内置函数

    函数分为自定义函数和内置函数 python内置函数分类: 5.5.1 强制转换 int() / str() / bool() / list() / tuple() / dict() / set() 5 ...

  8. 【NOIP2016提高A组模拟10.15】算循环

    题目 分析 一步步删掉循环, 首先,原式是\[\sum_{i=1}^n\sum_{j=1}^m\sum_{k=i}^n\sum_{l=j}^m\sum_{p=i}^k\sum_{q=j}^l1\] 删 ...

  9. [51nod 1830] 路径交

    问题描述 给定一棵n个点的树,以及m条路径,每次询问第L条到第R条路径的交集部分的长度(如果一条边同时出现在2条路径上,那么它属于路径的交集). 输入格式 第一行一个数n(n<=500,000) ...

  10. 【leetcode】1105. Filling Bookcase Shelves

    题目如下: We have a sequence of books: the i-th book has thickness books[i][0] and height books[i][1]. W ...