JavaScript变量上的点表示法

时间:2018-03-31 02:10:35

标签: javascript

.as-console-wrapper { max-height: 100% !important; top: 0; }

为什么JavaScript中不允许dateNow = new Date() dateGet = dateNow.getDay() document.write(dateGet.toDateString()) ... document.write(date11.toDateString())是一个变量。它给了我一个错误“toDateString()不是函数”

2 个答案:

答案 0 :(得分:0)

假设你打算在你的问题中写dateGet而不是date11

问题是dateGet不是Date实例 - 它是从getDay() Date方法返回的数字

const dateNow = new Date()
const dateGet = dateNow.getDay()

console.log(dateNow instanceof Date); // true
console.log(typeof dateNow.getDay); // function
console.log(dateGet instanceof Date); //false
console.log(typeof dateGet); // number
console.log(typeof dateGet.toDateString); // undefined

document.write(dateGet.toDateString()) // 

由于dateGet不是Date的实例,但实际上是一个数字,它没有.toDateString这样的方法,因此当您尝试调用此不存在的方法时出错扔了。

答案 1 :(得分:0)

function displayPlayerOneInitialCards() { length = dealerCards.length; for( dealerCount = 0; dealerCount < length; dealerCount++) { newCard = dealerCards[dealerCount] if(dealerCount == 0) { var cardToDisplay = newCard.cardFaceDown; } if(dealerCount == 1) { var cardToDisplay = newCard.cardToDisplay; } dealerIdName = 'D'; dealerIdName = dealerIdName + dealerCount.toString(); fileNameCard= '<img width="80" height="128" src="images/'+ (cardToDisplay.trim())+'" alt="Card"/>'; document.getElementById(dealerIdName).innerHTML = fileNameCard; } } 是Date对象的函数。 dateGet或date11实际上是整数,因为这是app/assets返回的内容,因此设计:toDateString()不是整数的函数。您可以`document.write(dateGet),并且'返回一周中的某一天的整数。如果你想要“星期一”或“星期二”等,那么你需要创建一个小天数并匹配dateGet。