简介:

Javascript是一个脚本语言,弱类型的编程语言,简称js,被称为网站开发的行为。它的作用是增加页面特效、前后台交互以及应用于后台开发。它即可写在HTML的script标签里,也可写在外部js文件里。要注意的是JavaScript严格区分大小写,且以分号结尾,语句字符必须是英文。

html骨架(页面结构),css是样式(元素大小、颜色、位置、隐藏或显示等),js是行为(部分动画效果、页面与用户交互等)

变量定义:由于是弱类型,故不用指定类型,使用关键字var定义变量。

注释:多行注释/* .....*/   单行注释 //

引入js文件:<script type="text/javascript" src="js文件"> </script>

弹窗与控制台打印:分别是alert()和console.log(),在代码调试中常常用到这个。

六大类型:数字(number)、字符串(str)、布尔(true,false)、空(null)、对象、未定义(undefine)。未定义就是一个变量声名但未赋予值。

取变量类型:typeof 变量名

运算符:

  1. 括号:() [ ] 中括号表示数组的下标
  2. 逻辑反: !x
  3. 自加自减: x++ ++x x-- --x   前加和后加的区别在于前加是运算前执行++,后加是运算后执行++
  4. 算术运算符:* / % + -
  5. 比较运算符:< > <= >= == === !=  与其他语言不同的是多了一个===,这是由它的弱类型造成的,==只比较他们的值,不管类型,而===同时比较他们的值和类型。
  6. 逻辑运算符: &&  ||
  7. 赋值运算符:=
  8. 复合运算符:+=   -=   *=   /=  %=
  9. 条件运算符:z?x:y    条件z成立,返回值x,否则返回y。

+号两边是数字和字符串,加号起拼接作用。-和*、/、%号两边是数字和数字的字符串,会将数字字符串看出一个数字。

js获取元素

对于具有唯一性的标签,如body、title、head可以直接获取。

var obox = document.title

对于不具有唯一性的标签还可通过id、class、tagname、name、上下文选择器来获取。

var obox = document.getElementsById("xx")
var obox = document.getElementsByClassName("xx")
var obox = document.getElementsByTagName("xx")
var obox = document.getElementsByName("xx") #常用于表单
var obox = document.querySelector("xx xx") //只获取一个
var obox = document.querySelectorAll("xx xx") //获取所有满足条件的

如果获取的元素是一个确切的元素,可以直接操作这个元素,若有多个元素,必须通过下标来操作这个元素。

可用以获取的对象来取代document,以缩小获取元素的范围。

获取的元素可通过innerHTML或innerText来修改标签里的内容,innerHTML可以解析标签,innerText不能。如:

document.body.innerHTML = "<i> hello,world. </i>“

js简单事件

所谓的事件就是指JavaScript捕获到用户的操作,并能做出正确响应。在事件函数里,有一个关键字this,它代表当前触发事件的这个元素的事件。

格式: 对象.事件 = function(){ xxxx  }

鼠标事件:

  • 单击事件:onclick
  • 双击事件:ondblclick
  • 鼠标划入事件:onmouseenter
  • 鼠标划出事件:onmouseleave

如:

obox.onclick = funtion() {
this.innerText = "hello";
}

js操作属性

对于标准的属性如href、class、id、name、target等可以直接进行读取和修改。要注意的是class属性在操作属性里写作classname。

obox.target = "_self_;
obox.classname = "long" #操作class属性

对于不规范的的属性,读取和修改分开,读取用getAttribute(”属性“)方法,设置属性用setAttribute(”属性“,”属性值“)方法,移除属性用removeAttribute(”属性“)方法。这三种方法对于规范属性同样有效。

设置属性可以一次给一个属性设置多个值,一般只有class这个属性可以有多个值,多个值之间用空格分开。

js操作css样式

js操作样式有两种方式,一种是直接利用变量对象操作,一种是放在事件函数里操作。

直接操作:变量.style.属性 = ”xxx“。 要想一次改多个属性: 变量.style.cssText = "属性1:值;属性2:值” 。 操作复合属性有两种,一种是要去掉-号,-号后面的第一个单词大写。如oBox.style.marginLeft = "100px";另一种不需要改动属性名,oBox.style["margin-left"] = "100px"。

放在事件函数里:就是将变量改成this。其方法与直接操作是一样的。

JavaScript详解(一)的更多相关文章

  1. Day03 javascript详解

    day03 js 详解 JavaScript的基础 JavaScript的变量 JavaScript的数据类型 JavaScript的语句 JavaScript的数组 JavaScript的函数 Ja ...

  2. Unicode与JavaScript详解

    本文为转载内容 一.Unicode是什么? Unicode源于一个很简单的想法:将全世界所有的字符包含在一个集合里,计算机只要支持这一个字符集,就能显示所有的字符,再也不会有乱码了. 它从0开始,为每 ...

  3. javascript 详解数组

      概念 数组创建 数组读写 数组 VS. 一般对象 相同点 不同点 稀疏数组 数组的length属性 元素增删 数组迭代 二维数组 数组方法 Array.prototype.join Array.p ...

  4. 【原创教程】JavaScript详解之语法和对象

    JavaScript的好的想法:函数.弱类型.动态对象和一个富有表现力的对象字面量表示法. JavaScript的坏的想法:基于全局变量的编程模型.   好了,不管他是好的还是坏的,都是我的最爱,下面 ...

  5. JavaScript详解

    JavaScript可以说是web开发中必备的一种技术.它具有灵活,简单,高效等特点.这次DRP中大量的用到了js,让自己对js有了更深的了解.看完这个以后还回去看了一下牛腩的js视频.把以前没看的看 ...

  6. Unicode与JavaScript详解 [很好的文章转]

    上个月,我做了一次分享,详细介绍了Unicode字符集,以及JavaScript语言对它的支持.下面就是这次分享的讲稿. 一.Unicode是什么? Unicode源于一个很简单的想法:将全世界所有的 ...

  7. Web前端之Javascript详解20180330

    一.javascript概述 javascript是基于对象和事件的脚本语言. 特点: 1.安全性(不允许直接访问本地硬盘(因为是被远程的浏览器解释)),它可以做的就是信息的动态交互 2.跨平台性(只 ...

  8. JavaScript: 详解正则表达式之三

    在上两篇文章中博主介绍了JavaScript中的正则常用方法和正则修饰符,今天准备聊一聊元字符和高级匹配的相关内容. 首先说说元字符,想必大家也都比较熟悉了,JS中的元字符有以下几种: / \ | . ...

  9. JavaScript: 详解正则表达式之一

    正则表达式是一个精巧的利器,经常用来在字符串中查找和替换,JavaScript语言参照Perl,也提供了正则表达式相关模块,开发当中非常实用,在一些类库或是框架中,比如jQuery,就存在大量的正则表 ...

  10. javascript详解1

    推荐学习链接: https://book.apeland.cn/details/356/ http://es6.ruanyifeng.com/#README https://developer.moz ...

随机推荐

  1. 第十八篇 admin组件

    admin组件 admin组件使用 admin源码解析 admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以 ...

  2. P3045 [USACO12FEB]牛券Cow Coupons

    P3045 [USACO12FEB]牛券Cow Coupons 贪心题.先选中 \(c_i\) 最小的 \(k\) 头牛,如果这样就超过 \(m\) ,直接退出,输出答案.否则考虑把后面的牛依次加入, ...

  3. 201903-1 小中大 Java

    思路: 中位数就是排序后中间的那个数.如果有偶数个数,就是中间两个数的平均值. 注意,这个平均值可能是整数,可能是小数,如果都是一样的处理,如果输出整数是3.0,而不是3,就有问题.所以需要分开处理. ...

  4. (递归)P1192 台阶问题

    题解: 这其实是变相的斐波那契,观察下列等式: //k=2 : 1 2 3 5 8 13 21 34...... //k=3 : 1 2 4 7 13 24 44 81... //k=4 : 1 2 ...

  5. 单变量线性回归(Linear Regression with One Variable)与代价函数

    所谓的单变量线性回归问题就是监督学习的一部分. 通过构建数学模型给出一个相对准确的数值,也就是预测模型,通过将数据通过数学模型,衍生至回归问题 通过以下的几个例子,我们来研究单变量线性回归. 1.王阿 ...

  6. POJ - 1742 Coins(dp---多重背包)

    题意:给定n种硬币的价值和数量,问能组成1~m中多少种面值. 分析: 1.dp[j]表示当前用了前i种硬币的情况下,可以组成面值j. 2.eg: 3 10 1 3 4 2 3 1 (1)使用第1种硬币 ...

  7. trove module使用说明

    原文来自:https://github.com/openstack/openstack-manuals/blob/master/doc/user-guide/source/database-modul ...

  8. Arduino学习——Arduino main 函数

    在Arduino IDE的安装目录下可以找到main.cpp这个代码模板文件,main函数就位于此. 文件位置:{Arduino安装目录}\hardware\arduino\avr\cores\ard ...

  9. php中const和define的区别

    define部分:宏不仅可以用来代替常数值,还可以用来代替表达式,甚至是代码段.(宏的功能很强大,但也容易出错,所以其利弊大小颇有争议.)宏的语法为:#define 宏名称 宏值作为一种建议和一种广大 ...

  10. 使用classList和dataset实现tab切换

    显示效果: 代码实现: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...