我是靠谱客的博主 沉静老鼠,最近开发中收集的这篇文章主要介绍javascript学习计划2JavaScript学习计划22020.9.7 javascript学习计划,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

JavaScript学习计划2

避免不必要的变量

fullname = this.firstName +" "+this.lastName
document.getElementById('app').innerHTML = fullName
//更好的做法:
document.getElementById("app").innerHTML = this.firstName+" "+this.lastName
  • ES5的特性:
    • string.strim()是去除字符串两边的空格
    • array.IsArray()是判断array是不是为数组
    • array.forEach()是遍历array数组的所有元素
    • array.map()
    • array.filter()返回一个过滤后的新数组;如果返回true就留下,false就过滤掉
    • array.reduce() 收敛
    • array.reduceRight()
    • array.every()返回一个布尔值,需要每一项都是true,才返回true
    • array.some()返回一个布尔值,只要一个是true,就返回true
    • array.indexof()检测某元素在数组中的位置
    • array.lastIndexof()从数组的尾部开始检索数组中某元素出现的位置
    • JSON.parse()是将文本转化为JavaScript对象
    • Date.now()是获取当前的时间
    • ES5中的getter和setter的属性
      • getter的方法就是读取对象中的某个值
      • setter的方法是给对象中的某个属性赋值
const person ={
name: 'Bill',
age: 30,
get lang(){
return this.language
},
set lang(value){
this.language = value
}
}
//使用setter的属性方法将Chinese赋值给对象中的lang
person.	lang = "Chinese"
//使用getter的属性方法将person对象中的lang渲染到html页面上
document.getElementById('app').innerHTML= person.lang
  • ​ object.defineProperty()新的对象属性和方法,允许修改对象的属性、更改对象的属性值、元数据
const person ={
name: 'Bill',
age: 30,
get lang(){
return this.language
},
set lang(value){
this.language = value
}
}
//修改person中age的属性
object.defineProperty(person,'age',{
value : 25,
writable:true,
enumberable:true,
configurable:true
})
  • 对象属性的方法

    • object.defineProperty(object,property,descriptor) //添加或者修改对象属性值
    • object.defineProperties(object,descriptor) //添加多个对象属性值
    • object.getOwnPropertyDescriptor(object, property) //访问对象中的属性
    • object.getOwnPropertyNames(object) //将所有属性以数组形式返回
    • objec.keys(object) //将可枚举属性作为数组返回
    • object.getPrototypeOf(object) //获取数组的原型
    • object.preventExtensions(object) //禁止向对象添加属性
    • object.isExtensible(object) //判断对象是否可以添加属性如果可以则返回true否则false
    • object.seal(object) //防止更改对象属性(不是值)
    • object.isSealed(object) //判断对象是否被密封,如果是被密封则返回true
    • object.freeze(object) //防止对对象进行任何修改
    • obect.isFrozen(object) //如果对象被冻结则返回true
  • 对字符串的属性访问 charAt()方法返回想要查询的字符串所在位置

let str = 'China'
console.log(str.charAt(0))
  • ES6的特性
    • javascript let
    • javascript const
    • 幂(**)
    • 默认参数
    • array.find()
    • array.findIndex()
  • let 允许使用块作用域声明局部变量

var x = 10 // 此处x=10
function(){
let x = 6
//此处x=6
}
//此处x = 10
  • 幂(**) 与math.pow(x,y)一样 x是底数,y为幂
var x = 3
let y = x ** 2
==》 math.pow(3,2) //y的结果为9
  • 允许默认参数
function myFunction(x,y=4){
return x+y;
}
myFunction(5)
//将5赋值给x,对于y则默认是4
  • array.find()中find方法是检测数组中第一元素的值
let array = [10,23,434,32,2,55,33,41]
array.find(myFunction)
function myFunction(value,index,array){
//注意此函数接收三个值
项目值value,项目索引index,数组本身array
return value >29
}
  • 新的数字方法
    • number.isInteger() //若果参数为整数则返回的是true否则false
    • number.isSafeInteger() //安全整数可以确确为双精度的整数
console.log(number.isIteger(10))
//结果为true
console.log(number.isSafeInteger(101.2932322))
//结果为false
  • 两个全局数字的方法
    • isFinite() //如果参数是finite或者是NaN的话返回就是false,否则是true
    • isNaN() //如果参数是NaN,则isNaN返回的是true否则返回的是false
console.log(isFinite('China'))
//true,China不是一个NaN
console.log(isNaN('China '))
//true 
  • 箭头函数:不需要再写function,{}大括号,return
es5
let a = function (x = 7,y = 8){
return x+y
}
es6
let a =(x = 7,y = 8)=> x+y

注:

​ 箭头函数没有自己的this,不合适定义对象方法

​ 使用const比var更安全,因为函数的表达式通常是常量值

  • JSON是存储数据和传输数据的格式,JSON通常是服务器传送数据给页面使用的(javascript object notation)

    JSON是轻量级的数据交换格式

    JSON的语法规则:

    • 数据是键值对
    • 数据由逗号分开
    • 花括号保存对象
    • 方括号保存数组

JSON.parse()将JSON文本转为对象


2020.9.7 javascript学习计划

  • 自动html表单验证required判断表单是否为空,为空则停止上传
<form action = '/*'>
<input type= 'text' name = 'username' required>
<input type = 'submit'>
</form>

验证有HTML约束验证、

disabled对input输入框禁止输入
max约束input输入框输入元素的最大值
min约束input输入框输入元素的最小值
pattern规定input输入框的输入元素的值模式
required规定input输入框的值为必填
type选择input元素的类型

css伪选择器验证

:disabled设置了disabled属性的input元素
:invalid选择带有无效的input的元素
:optional设置required的属性的input元素
:required选择设置了required的属性的input元素
:valid选择带有效值的input元素

约束dom的方法

checkValidity()如果返回true,则说明输入的是有效的数据
setCustomValidity()设置input元素的validationMessage的属性
<body>
<p>输入数字并点击提交:</p>
<input id="id1" type="number" min="100" max="300" required>
<button onclick="myFunction()">提交</button>
<p>如果该数字小于 100 或大于 300,将显示错误消息。</p>
<p id="demo"></p>
<script>
function myFunction() {
var inpObj = document.getElementById("id1");
if (!inpObj.checkValidity()) {
document.getElementById("demo").innerHTML = inpObj.validationMessage;
} else {
document.getElementById("demo").innerHTML = "输入有效";
}
}
</script>
</body>
属性描述
customError设置为 true,如果设置自定义的合法性消息。
patternMismatch设置为 true,如果元素值不匹配其 pattern 属性。
rangeOverflow设置为 true,如果元素值大约其 max 属性。
rangeUnderflow设置为 true,如果元素值小于其 min 属性。
stepMismatch当字段拥有 step 属性,且输入的 value 值不符合设定的间隔值时,该属性值为 true。
tooLong设置为 true,如果元素值超过了其 maxLength 属性。
typeMismatch当字段的 type 是 email 或者 url 但输入的值不是正确的类型时,属性值为 true。
valueMissing设置为 true,如果元素(包含 required)没有值。
valid设置为 true,如果元素值是有效的。
  • 对象

javascript定义了五种原始数据类型

​ 1、number

​ 2、String

​ 3、Boolean

​ 4、null

​ 5、undefine

访问对象的属性:object.property或者object[‘property’]或者object[‘expression’] // x=0 object[x]

javascript 的for in循环 遍历对象属性

最后

以上就是沉静老鼠为你收集整理的javascript学习计划2JavaScript学习计划22020.9.7 javascript学习计划的全部内容,希望文章能够帮你解决javascript学习计划2JavaScript学习计划22020.9.7 javascript学习计划所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部