If you use nlapiGetField(fldnam) in a client script to return a nlobjField object, the object returned is read-only. [...] you cannot use nlobjField setter methods to set field properties. There is one exception, nlobjField.setDisplayType can be used to set the display type.”
Further down the same page:
“you cannot use setDisplayType to set the field’s display type. The nlobjField object returned from nlapiGetField(fldnam) is read-only”