简介:

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. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-print

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  2. java反射的认知和学习

    1.学习了Class对象,Filed对象(对应数据),Method对像(对应函数),Constructor对象(对应构造函数). 2.Declared可用于获取私有的数据和方法,但是打印得使用setA ...

  3. 【转】Java线程面试题 Top 50(转)

    不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎.大多数待遇丰厚的Java开发职位都要求开发者精通多线程 ...

  4. dns、网关、IP地址,主要是配置resolv.conf\network\ifcfg-eth0

    Ubuntu sudo vi /etc/network/interfac   添加 dns-nameservers 192.168.1.254dns-search stonebean.com cent ...

  5. 路由反射器(RR)配置

    IBGP与EBGP的区别:是否使用指定源(update-source) 路由反射器(RR)配置: 零:关闭同步,关闭自动汇总. ①:启用BGP ②:在相同BGP-AS下建立邻居. ③:指定路由器及所在 ...

  6. 输入框中提示信息(html5)

    placeholder 属性规定可描述输入字段预期值的简短的提示信息(比如:一个样本值或者预期格式的短描述). 该提示会在用户输入值之前显示在输入字段中. 注意:placeholder 属性适用于下面 ...

  7. javascript实现抽奖程序

    昨天开年会的时候看到一个段子说唯品会年会抽奖,结果大奖都被写抽奖程序的部门得了,CTO现场review代码. 简单想了一下抽奖程序的实现,花了十几分钟写了一下,主要用到的知识有数组添加删除,以及ES5 ...

  8. vue中的axios请求

    1.get请求 // get this.$axios.get('请求路径') .then(function (response) { console.log(response); // 成功 }) . ...

  9. [转]Linux命令行上传文件到 百度网盘 bypy

    安装软件工具: apt-get install python-pip pip install requests pip install bypy 授权登陆: 执行 bypy info,显示下边信息,根 ...

  10. POJ - 3665 iCow(模拟)

    题意:有N首歌曲,播放的顺序按照一定的规则,输出前T首被播放的歌的编号.规则如下: 1.每首歌有一个初始的等级r,每次都会播放当前所有歌曲中r最大的那首歌(若r最大的有多首,则播放编号最小的那首歌). ...